我试图在HA模式下使用neo4j嵌入式服务器和spring数据neo4j。我收到类加载错误。我放了所有的罐子。 我试图在HA模式下使用neo4j嵌入式服务器和spring数据neo4j。我收到了类加载的错误。我放了所有的罐子。
Running Grails application
| Error 2014-10-18 17:27:46,878 [localhost-startStop-1] ERROR spring.GrailsRuntimeConfigurator - [RuntimeConfiguration] Unable to perform post initialization config: file:./grails-app/conf/spring/resources.xml
Message: org.neo4j.kernel.HighlyAvailableGraphDatabase
Line | Method
->> 366 | run in java.net.URLClassLoader$1
| 355 | run in ''
| 354 | findClass in java.net.URLClassLoader
| 425 | loadClass in java.lang.ClassLoader
| 262 | run . . . in java.util.concurrent.FutureTask
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
and my xml configuration is
<?xml version="1.0" encoding="UTF-8"?>
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:neo4j="http://www.springframework.org/schema/data/neo4j"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/data/neo4j
http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd">
<context:component-scan base-package="neo4j"></context:component-scan>
<bean id="haDatabase" class="org.neo4j.kernel.HighlyAvailableGraphDatabase"
destroy-method="shutdown">
<constructor-arg index="0" value="target/db" />
<constructor-arg index="1">
<map>
<entry key="ha.server_id" value="1" />
<entry key="ha.server" value="localhost:6001" />
<entry key="ha.coordinators" value="localhost:2181,localhost:2182,localhost:2183" />
</map>
</constructor-arg>
</bean>
<neo4j:config graphDatabaseService="haDatabase" base-package="neo4j"/>
<bean id="config"
class="org.springframework.data.neo4j.config.DataGraphNamespaceHandlerTests$Config" />
<neo4j:repositories base-package="neo4jRepository" />
and i have dependencies are
compile "org.springframework.data:spring-data-neo4j:3.2.0.RELEASE"
compile "org.neo4j:neo4j-enterprise:2.1.5"
compile "org.neo4j:neo4j-ha:2.1.5"
compile "org.neo4j:neo4j-cluster:jar:2.0.0"
答案 0 :(得分:2)
由于Neo4j 1.9中的API更改,您无法直接实例化HighlyAvailableGraphDatabase
。相反,您应该使用HighlyAvailableGraphdatabaseFactory
。请参阅我的一篇小说,了解如何使用它:https://gist.github.com/sarmbruster/6222698
答案 1 :(得分:0)
此示例也可以帮助您使用java代码。 (Neo4j 2.1.2)
https://github.com/Jotschi/neo4j-ha-example
片段:
GraphDatabaseBuilder builder = new HighlyAvailableGraphDatabaseFactory().newHighlyAvailableDatabaseBuilder(DB_LOCATION);
builder.setConfig(ClusterSettings.server_id, SERVER_ID);
builder.setConfig(HaSettings.ha_server, "localhost:6001");
builder.setConfig(HaSettings.slave_only, Settings.FALSE);
builder.setConfig(ClusterSettings.cluster_server, "localhost:5001");
builder.setConfig(ClusterSettings.initial_hosts, "localhost:5001,localhost:5002");
graphDb = builder.newGraphDatabase();