2016-12-22 2 views
0

Я использую:Spring Neo4j данных хранилища не работает с DataGraph-939

весна-данных Neo4j 4.2.0-SNAPSHOT (пробовал с 4.2.0.RC1 тоже)

и с DataGraph -939 commit, я больше не могу работать с репозиториями.

@Repository 
public interface MyEventRepository extends GraphRepository<Event> {} 

Ошибка:

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'myEventRepository': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.lang.Class<org.springframework.data.repository.Repository<?, ?>>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749) 
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:189) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1148) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:735) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:128) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60) 
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98) 
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116) 
    ... 25 common frames omitted 
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.lang.Class<org.springframework.data.repository.Repository<?, ?>>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1466) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1097) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) 
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) 
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) 
    ... 41 common frames omitted 

Вот пример моего неисправного теста:

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = { SimpleTest.TestConfiguration.class }) 
public class SimpleTest { 

    @Configuration 
    @EnableNeo4jRepositories("com.nagra.ml.sp.cpm.core.repositories.test") 
    public static class TestConfiguration { 

     @Bean 
     public org.neo4j.ogm.config.Configuration configuration() { 
      org.neo4j.ogm.config.Configuration config = new org.neo4j.ogm.config.Configuration(); 
     config .driverConfiguration() 
       .setDriverClassName("org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver"); 
      return config; 
     } 

     @Bean 
     public SessionFactory sessionFactory() { 
      return new SessionFactory(configuration(), "com.nagra.ml.sp.cpm.model"); 
     } 

     @Bean 
     public Neo4jTransactionManager transactionManager() { 
      return new Neo4jTransactionManager(sessionFactory()); 
     } 
    } 

    @Test 
    public void test() { 
     assertTrue(true); 
    } 
} 

Согласно документации, способ декларирования репозиториев кажется правильным, я делаю что-то не так ?

Thanks

+0

В то время, когда вы поднимаете эту проблему, произошла ошибка репозитория maven. Вы снова попробовали использовать 'mvn -U'? – digx1

+0

Я пробовал снова с 4.2.0.RC1 и 4.2.0.BUILD-SNAPSHOT (-U), у меня все еще такая же проблема. – tigrou83

+0

ОК. Если вы не подняли вопрос Github, то, возможно, к этому. Я попытаюсь расследовать это сегодня. – digx1

ответ

0

У меня больше нет проблем с репозиториями. Теперь я использую SDN 4.2.0.RELEASE с Spring boot 1.5.1, и я больше не расширяю GraphRepository, как описано в документации SDN4.2.0.