Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

806
Vistas
Auditoría con spring-data-mongodb

Estoy tratando de habilitar los campos de auditoría automática con mongodb de datos de primavera como se explica aquí . A continuación se muestra mi clase de configuración.

 @Configuration @EnableWebMvc @ComponentScan(basePackages = "com.abc") @EnableMongoRepositories(basePackages = "com.abc.xyz.repository") @EnableMongoAuditing public class ApplicationConfiguration { @Bean public MongoDbFactory mongoDbFactory() throws Exception { ServerAddress serverAddress = new ServerAddress("127.0.0.1", 27017); MongoCredential mongoCredential = MongoCredential.createCredential("user", "test", "abc123".toCharArray()); MongoClient mongoClient = new MongoClient(serverAddress, Arrays.asList(mongoCredential)); return new SimpleMongoDbFactory(mongoClient, "test"); } @Bean public MongoTemplate mongoTemplate() throws Exception { return new MongoTemplate(mongoDbFactory()); } }

Pero cuando agrego @EnableMongoAuditing, recibo el siguiente error al iniciar el servidor.

 Caused by: java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoAuditingHandler': Cannot create inner bean '(inner bean)#6dca0c34' of type [org.springframework.data.mongodb.config.MongoAuditingRegistrar$MongoMappingContextLookup] while setting constructor argument; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name '(inner bean)#6dca0c34': Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type [org.springframework.data.mongodb.core.convert.MappingMongoConverter] found for dependency [org.springframework.data.mongodb.core.convert.MappingMongoConverter]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.data.mongodb.core.convert.MappingMongoConverter] found for dependency [org.springframework.data.mongodb.core.convert.MappingMongoConverter]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:236) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:100) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

1: asegúrese de tener spring-data-mongodb

2: si está utilizando @CreatedDate o @LastModifiedDate , no necesita ninguna configuración adicional.

 class ClassName { ....... @CreatedDate private DateTime createdDate; @LastModifiedDate private DateTime @lastModifiedDate; }

3: si está utilizando @CreatedBy y @LastModifiedBy , entonces debe implementar la interfaz SPI de AuditorAware<T>

 class ClassName { ....... @CreatedBy private String createdBy; @LastModifiedBy private String lastModifiedBy; } public class AppAuditor implements AuditorAware<String> { @Override public String getCurrentAuditor() { // get your user name here return "xxxx"; } }

Implementación de AuditorAware basado en Spring Security de spring doc

 class SpringSecurityAuditorAware implements AuditorAware<User> { public User getCurrentAuditor() { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); if (authentication == null || !authentication.isAuthenticated()) { return null; } return ((MyUserDetails) authentication.getPrincipal()).getUser(); } }
over 4 years ago · Santiago Trujillo Denunciar

0

¿Puede verificar si tiene dependencia Spring Data MongoDB 1.9.4.RELEASE o superior, ya que mongoAuditingHandler requiere MappingMongoConverter , que está disponible en la versión 1.9.4.RELEASE o superior según changelog - spring-data-mongodb-changelog , por ejemplo:

 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.9.4.RELEASE</version> </dependency>
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda