具有Solr 4.1多核的Spring Data Solr

Trying to implement Spring-Data-Solr with Solr 4.1 multicores, 

在服务器启动时获得以下exception,我猜它期望在某处使用默认构造函数。 那么,是否有一个spring-data-solr与solr muticores实现的限制,这是我的实现,

资料库

  public interface MembershipDocumentRepository extends CustomMembershipDocumentRepository, SolrCrudRepository { } created 'repository' manually instead of autowiring/injection....... @Service public class RepositoryMembershipIndexService implements MembershipIndexService { @Autowired private SolrTemplate solrMembershipTemplate; private MembershipDocumentRepository repository = new SolrRepositoryFactory( this.solrMembershipTemplate) .getRepository(MembershipDocumentRepository.class); @Transactional @Override public void addToIndex(Membership membershipEntry) { MembershipDocument document = MembershipDocument.getBuilder( ... repository.save(document); } } 

的applicationContext-solr.xml

         

例外

  At server startup getting following exception, I guess it expecting a default constructor somewhere. So, is there a limitation of spring-data-solr with solr muticores implementation. Can somebody please help me, thanks a ton in advance. 

org.springframework.beans.factory.BeanCreationException:创建文件中定义名为’repositoryMembershipIndexService’的bean时出错[/home/rupanjan/Installations/apache-tomcat-7.0.39/webapps/pegonwheels-server/WEB-INF/classes/net /pewhewheels/spring/datasolr/domain/service/RepositoryMembershipIndexService.class]:bean的实例化失败; 嵌套exception是org.springframework.beans.BeanInstantiationException:无法实例化bean类[net.pegonwheels.spring.datasolr.domain.service.RepositoryMembershipIndexService]:构造函数抛出exception; 嵌套exception是java.lang.IllegalArgumentException:[断言失败] – 这个参数是必需的; org.springframework上的org.springframework.context.ComnotationAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:306)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1120)中的值不能为null。在org.springframework.beans.factory.support.AbstractBeanFactory $ 1的org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)上的beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292 )org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBe) anFactory.java:194)org.springframework上org.springframework.context.Support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)的org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:607)位于org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java)的org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)中的.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) :283)org.apache上的org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887)中的org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)。 StandardContext.startInternal(StandardContext.java:5381)位于org.apache.catalina.core.Container的org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)中的org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)中的Base.addChildInternal(ContainerBase.java:901) .apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)atg.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:1655)at java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:439)java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303)at java.util.concurrent.FutureTask.run(FutureTask.java:138)at java.util.concurrent。 ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:895)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:918)at java.lang.Thread.run(Thread.java:662)

在代码中你有

 private MembershipDocumentRepository repository = new SolrRepositoryFactory(this.solrMembershipTemplate) .getRepository(MembershipDocumentRepository.class); 

但是您的MembershipDocumentRepository无法使用CustomMembershipDocumentRepository自定义实现进行CustomMembershipDocumentRepository

如果你实现了它,请检查name.it必须与MembershipDocumentRepository在同一个包中,并命名为MembershipDocumentRepositoryImpl (这是它的默认命名。