带tinkerpop的嵌入式neo4j-同一实例,多址
我看到“blueprints-neo4j-graph-2.5.0”是将tinkerpop blueprints api与neo4j-graph(版本1.9.6)一起使用的最新发布版本 关于这一点,有几个问题:带tinkerpop的嵌入式neo4j-同一实例,多址,neo4j,tinkerpop,Neo4j,Tinkerpop,我看到“blueprints-neo4j-graph-2.5.0”是将tinkerpop blueprints api与neo4j-graph(版本1.9.6)一起使用的最新发布版本 关于这一点,有几个问题: 我知道这个neo4j实例将是一个带有社区版本的嵌入式数据库。是这样吗?如果是,如何切换到企业版 我试着将其作为gradle dependency:compilegroup:'org.neo4j',名称:'neo4j enterprise',版本:'2.0.1' 但是,我认为“bluepri
"blueprints.neo4jha.directory" : "C:/data/my-test-model-graph",
"blueprints.graph" : "com.tinkerpop.blueprints.impls.neo4j2.Neo4j2HaGraph",
"blueprints.neo4jha.conf.server_id" : "1",
"blueprints.neo4jha.conf.server" : "localhost:6364",
"blueprints.neo4jha.conf.cluster_server" : "localhost:5002",
"blueprints.neo4jha.conf.initial_hosts" : "localhost:5001,localhost:5002"
现在,当我尝试部署时,会得到一个空图
正如您所说,HA实施需要企业版:
我也试过这样做
compile(group: 'com.tinkerpop.blueprints', name: 'blueprints-neo4j2-graph', version:'2.5.0'){
exclude(module: 'neo4j')
exclude(module: 'neo4j-ha')
exclude(module: 'neo4j-management')
}
compile group: 'org.neo4j', name: 'neo4j-enterprise', version:'2.0.1'
这将得到neo4j-enterprise-2.0.1
但这似乎也不起作用,无法打开图形实例
你看到这里有什么奇怪的东西吗
java.lang.RuntimeException:GraphFactory无法实例化此图形实现[com.tinkerpop.blueprints.impls.neo4j2.Neo4j2HaGraph]。
在com.tinkerpop.blueprints.GraphFactory.open(GraphFactory.java:50)~[blueprints-core-2.5.0.jar:na]
在com.repo.GraphManager.getGraphDatabase(GraphManager.java:314)[com.repo~repo_模块~1.0.0-SNAPSHOT/:na]
在com.repo.graphmager.start(graphmager.java:164)[com.repo~repo_模块~1.0.0-SNAPSHOT/:na]
在org.vertx.java.platform.Verticle.start(Verticle.java:82)[vertx-platform-2.1M1.jar:na]
在com.englishtown.vertx.hk2.HK2VerticleLoader.start(HK2VerticleLoader.java:77)[com.englishtown~vertx-mod-hk2~1.6.0-SNAPSHOT/:na]
位于org.vertx.java.platform.impl.DefaultPlatformManager$19.run(DefaultPlatformManager.java:1551)[vertx-platform-2.1M1.jar:na]
在org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:176)[vertx-core-2.1M1.jar:na]
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[na:1.7.051]
在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[na:1.7.051]
在java.lang.Thread.run(Thread.java:744)[na:1.7.0_51]
原因:java.lang.reflect.InvocationTargetException:null
在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)~[na:1.7.0\U 51]
在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)~[na:1.7.0\u 51]
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)~[na:1.7.051]
在java.lang.reflect.Constructor.newInstance(Constructor.java:526)~[na:1.7.0_51]
在com.tinkerpop.blueprints.GraphFactory.open(GraphFactory.java:43)~[blueprints-core-2.5.0.jar:na]
... 省略9个公共框架
原因:java.lang.NullPointerException:null
在java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1124)~[na:1.7.051]
在java.util.concurrent.ConcurrentHashMap.putAll(ConcurrentHashMap.java:1162)~[na:1.7.051]
在org.neo4j.kernel.configuration.Config.applyChanges(Config.java:122)~[neo4j-kernel-2.0.1.jar:2.0.1]
在org.neo4j.kernel.configuration.Config.(Config.java:88)~[neo4j-kernel-2.0.1.jar:2.0.1]
位于org.neo4j.kernel.InternalAbstractGraphDatabase.(InternalAbstractGraphDatabase.java:278)~[neo4j-kernel-2.0.1.jar:2.0.1]
在org.neo4j.kernel.ha.HighlyAvailableGraphDatabase.(HighlyAvailableGraphDatabase.java:136)~[neo4j-ha-2.0.1.jar:2.0.1]
在org.neo4j.graphdb.factory.HighlyAvailableGraphDatabaseFactory$1.newDatabase(HighlyAvailableGraphDatabaseFactory.java:47)~[neo4j-ha-2.0.1.jar:2.0.1]
在org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:198)~[neo4j-kernel-2.0.1.jar:2.0.1]
在com.tinkerpop.blueprints.impls.neo4j2.Neo4j2HaGraph.(Neo4j2HaGraph.java:23)~[blueprints-neo4j2-graph-2.5.0.jar:na]
在com.tinkerpop.blueprints.impls.neo4j2.Neo4j2HaGraph.(Neo4j2HaGraph.java:31)~[blueprints-neo4j2-graph-2.5.0.jar:na]
... 省略14个公共帧
如果需要Neo4j 2.x,则需要使用此依赖项:
<dependency>
<groupId>com.tinkerpop.blueprints</groupId>
<artifactId>blueprints-neo4j2-graph</artifactId>
<version>2.5.0</version>
</dependency>
com.tinkerpop.blueprints
其中需要企业版:
Neo4jHaGraph
也应该存在于blueprints-neo4j2-graph
包装中。您是如何管理依赖关系的?使用Maven?我最初的猜测是混合中有一些Neo4j 1.x依赖项,但鉴于您发布的堆栈跟踪,这只是一个猜测。在lib目录中,我没有看到任何来自1.x的JAR。现在更新了问题帖子。在清理本地gradle缓存后,它现在可以与neo4j 2.1.2一起工作。我现在看到的另一个问题是:我有两个vm,它们有自己的数据库实例,并且以HA模式部署。我在messages.log中看到了以下消息:我认为它应该这样说:尝试加入[first host:port,second host:port]的集群,而我看到它只有自己的host:port。如果我直接用neo4j核心java API部署它们,它们就会集群化,并具有预期的行为。我不确定您是否在GitHub中发布了此问题:无论如何,我们将在那里寻求解决方案。