带tinkerpop的嵌入式neo4j-同一实例,多址

带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-neo4j-graph-2.5.0”是将tinkerpop blueprints api与neo4j-graph(版本1.9.6)一起使用的最新发布版本

关于这一点,有几个问题:

  • 我知道这个neo4j实例将是一个带有社区版本的嵌入式数据库。是这样吗?如果是,如何切换到企业版

    我试着将其作为gradle dependency:compilegroup:'org.neo4j',名称:'neo4j enterprise',版本:'2.0.1'

    但是,我认为“blueprints-neo4j-graph-2.5.0”将有自己的版本(neo4j 1.9.6)作为依赖项

  • 是否可以将neo4j webadmin控制台与嵌入式版本一起使用

    我尝试将neo4j.server.properties中的数据库位置更改为嵌入式实例配置中给定的位置,但无法同时访问它们

  • 我在我的身材上做了这个改变

    编译组:“com.tinkerpop.blueprints”,名称:“blueprints-neo4j2-graph”,版本:“2.5.0”

    这将拾取neo4j 2.0.1

    此外,我还将tinkerpop示例中提到的tinkerpopConfig(我正在使用GraphFactory打开和关闭图形)更改为:

    "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中发布了此问题:无论如何,我们将在那里寻求解决方案。