2013-04-09 2 views
2

많은 성공없이 내 애플 리케이션에 포함 된 그래프와 Neo4j 서버를 사용할 수 있도록 내 응용 프로그램 컨텍스트를 구성하려고 해요. 저는 Spring Data를 동시에 사용하고 있습니다 (Mongo와 Neo4j 리포지토리 모두 접근). 이 실행되지 않는 내 응용 문맥입니다 :스프링 데이터 Neo4j : 포함 된 서버를 사용하여

<context:component-scan base-package="org.domain.team.project.*"/> 

<mongo:repositories base-package="org.domain.team.project.data.repositories.mongodb"/> 

    <!-- Neo4j --> 
    <!-- <neo4j:config storeDirectory="/data/production/graph.db"/> --> 
    <neo4j:repositories base-package="org.domain.team.project.data.repositories.neo4j"/> 

    <neo4j:config graphDatabaseService="graphDatabaseService" /> 
    <bean id="graphDatabaseService" class="org.neo4j.kernel.EmbeddedGraphDatabase" 
    destroy-method="shutdown"> 
     <constructor-arg index="0" value="/data/production/graph.db" /> 
     <constructor-arg index="1"> 
      <map><entry key="enable_remote_shell" value="true"/></map> 
     </constructor-arg> 
    </bean> 
    <bean id="serverWrapper" class="org.neo4j.server.WrappingNeoServerBootstrapper" 
     init-method="start" destroy-method="stop"> 
      <constructor-arg ref="graphDatabaseService"/> 
    </bean> 

을 나는이 방법을 사용하여 간단하게 상점 디렉토리를 지정하지 않으면 (주석 선) 다 잘 실행됩니다. 나는 그것이 SDN과 neo4j 서버 문제 사이의 버전이라고 생각합니다. 이것은 내 POM입니다 :

<properties> 
    <spring.data.mongo.version>1.1.0.RELEASE</spring.data.mongo.version> 
    <spring.data.neo4j.version>2.1.0.RELEASE</spring.data.neo4j.version> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-mongodb</artifactId> 
     <version>${spring.data.mongo.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-neo4j</artifactId> 
     <version>${spring.data.neo4j.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.neo4j.app</groupId> 
     <artifactId>neo4j-server</artifactId> 
     <version>1.8.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.neo4j.app</groupId> 
     <artifactId>neo4j-server</artifactId> 
     <classifier>static-web</classifier> 
     <version>1.8.2</version> 
    </dependency> 
    </dependencies> 

그 부모는 종속성으로 Spring (core, context, test) 3.2.0 릴리스가 있습니다. 표시되는

구체적인 오류는 다음 default value 그것에 대해 too much을 이야기하지 않는다 (100) SDN의 문서이기 때문에

Caused by: java.lang.NoSuchFieldError: query_cache_size 
    at org.neo4j.cypher.ExecutionEngine.org$neo4j$cypher$ExecutionEngine$$getQueryCacheSize(ExecutionEngine.scala:95) 
    at org.neo4j.cypher.ExecutionEngine$$anon$1.<init>(ExecutionEngine.scala:91) 
    at org.neo4j.cypher.ExecutionEngine.<init>(ExecutionEngine.scala:91) 
    at org.neo4j.cypher.javacompat.ExecutionEngine.<init>(ExecutionEngine.java:54) 
    at org.neo4j.cypher.javacompat.ExecutionEngine.<init>(ExecutionEngine.java:44) 
    at org.springframework.data.neo4j.support.query.CypherQueryEngine.<init>(CypherQueryEngine.java:42) 
    at org.springframework.data.neo4j.support.DelegatingGraphDatabase.createCypherQueryEngine(DelegatingGraphDatabase.java:217) 
    at org.springframework.data.neo4j.support.DelegatingGraphDatabase.queryEngineFor(DelegatingGraphDatabase.java:190) 
    at org.springframework.data.neo4j.support.MappingInfrastructureFactoryBean.afterPropertiesSet(MappingInfrastructureFactoryBean.java:146) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1545) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1483) 
    ... 47 more 

하는 것은 지금까지 내가 걱정하고 같이 아무 문제가 없어야한다. 어떤 제안?

감사합니다.

답변

4

버전 호환성 문제가있는 것 같습니다. 나를 위해 조합 아래

spring-data-neo4j : 2.1.0.RC4 
spring-data-mongodb : 1.1.0.RELEASE 
neo4j-server : 1.8 
static-web : 1.8 

또한 잘 작동, 나는 일 아민에게-neo4j 서버 1.8 버전과, 일부 여러 SL4J 바인딩 문제가 문제를 해결 감사를 해결하기 위해

Spring framework version : 3.1.2.RELEASE 
Neo4j version : 1.8 
mongodb version : 2.2.2 
mongo-java-driver : 2.9.1 
slf4j : 1.7.2 
+1

다운 그레이드를 해요! – jarandaf

+0

그런데이 인터페이스는 http : // localhost : 7474에서 준비되었지만 http : // : 7474에서는 준비가되어 있지 않습니다. 모든 단서? 같은 개인 네트워크에있는 Neo4j 상자에 액세스 할 수 있기를 원합니다. – jarandaf

+0

이 클래스를 구현하여 해결했습니다. http://components.neo4j.org/neo4j-server/1.8/apidocs/org/neo4j/server/configuration/Configurator.html 그리고 두 번째 매개 변수로 서버 래퍼에 전달합니다. 자세한 내용은 여기를 참조하십시오 : http://www.cakesolutions.net/teamblogs/2012/05/23/enabling-neo4j-web-admin-tool-on-the-embedded-server-using-spring-data/ – jarandaf

관련 문제