2016-09-27 5 views
3

私は@Document(collection = "excursionAttendees")アノテーションを持つPOJO(ExcursionAttendee)アノテーションを持っており、カスタムメソッドを持たないリポジトリクラスがあります。DuplicateKeyExceptionウィールBeanの作成Springデータ

public interface ExcursionAttendeeRepository extends MongoRepository<ExcursionAttendee, String> 

ばねデータMongoDBは1.7.0.RELEASEと3.0のMongoDBに対してMongoのJavaベースドライバ3.0.0を使用してあります。アプリケーションがデプロイされているときに例外がスローされます。

Error creating bean with name 'excursionAttendeeRepository': Invocation of init method failed; nested exception is com.mongodb.DuplicateKeyException: Write failed with error code 11000 and error message 'null' 

私はインターネットで検索していますが、これについての理由がわかりません。これはBeanの作成段階であり、インデックスの問題を引き起こすために更新やアップサンプリングを行おうとしていません。ここで何が問題になるでしょうか?以下は

それは私の問題を見つけるための十分な証拠を与えたのmongo Javaドライバをアップグレードした後、完全なスタックトレース

06:33:08,212 ERROR [org.springframework.web.context.ContextLoader] (ServerService Thread Pool -- 56) Context initialization failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer#0.1': Cannot create inner bean '(inner bean)#604bbd0c' of type [org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter] while setting bean property 'messageListener'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#604bbd0c': Cannot resolve reference to bean 'productDetailsEventConsumer' while setting bean property 'delegate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'productDetailsEventConsumer': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.cinglevue.veip.service.excursion.ExcursionAttendeeService com.cinglevue.veip.service.erp.impl.ProductDetailsEventConsumer.excursionAttendeeService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'excursionAttendeeServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.cinglevue.veip.repository.excursion.ExcursionAttendeeRepository com.cinglevue.veip.service.excursion.impl.ExcursionAttendeeServiceImpl.excursionAttendeeRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'excursionAttendeeRepository': Invocation of init method failed; nested exception is com.mongodb.DuplicateKeyException: Write failed with error code 11000 and error message 'null' 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:129) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1475) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1220) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755) [spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762) [spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) [spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:434) [spring-web-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) [spring-web-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) [spring-web-4.1.9.RELEASE.jar:4.1.9.RELEASE] 
at org.jboss.resteasy.plugins.spring.SpringContextLoaderListener.contextInitialized(SpringContextLoaderListener.java:44) [resteasy-spring-2.3.3.Final.jar:] 
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3780) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] 
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:163) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] 
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:61) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] 
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:96) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_102] 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_102] 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_102] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_102] 
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_102] 
at org.jboss.threads.JBossThread.run(JBossThread.java:122) 
+0

ドキュメントに新しく追加されたユニークなインデックスはありますか? – titogeo

+0

完全なスタックトレースを表示できますか? –

+0

@titogeoいいえ、idインデックスしかありません。 –

答えて

2

です。

Write failed with error code 11000 and error message 'exception: E11000 duplicate key error index: veip.guardians.$school._id dup key: { : null }' 

は、埋め込みオブジェクト

@Id 
@Indexed(unique=true) 
private String id; 

@Index注釈がありましたが、データベースに埋め込まれたオブジェクトのこのidプロパティは、すべての文書の場合はnullです。どのような例外を説明します。

関連する問題