Spring Data Neo4j: Verwenden des Servers mit einem eingebetteten
Ich versuche, meinen Anwendungskontext so zu konfigurieren, dass der Neo4j-Server mit einem eingebetteten Diagramm in meiner App ohne großen Erfolg verwendet werden kann. Ich verwende Spring Data gleichzeitig (sowohl Mongo als auch Neo4j-Repositorys). Dies ist mein Anwendungskontext, der nicht läuft:
<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>
Wenn ich diesen Ansatz nicht verwende und einfach das Geschäftsverzeichnis (kommentierte Zeile) spezifiziere, läuft alles gut. Ich vermute, es ist eine Version zwischen SDN und Neo4J-Server-Problem. Das ist mein 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>
Sein Elternteil hat als Abhängigkeit Spring (Kern, Kontext, Test) 3.2.0 Release.
Der konkrete Fehler, der angezeigt wird, ist:
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
was für mich kein problem sein dürfte wie dasStandardwert ist 100. Das SDN-Dokument spricht nichtzu viel darüber. Irgendwelche Vorschläge?
Ich danke Ihnen allen im Voraus.