Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同时使用Neo4j的螺栓驱动程序和Java API_Java_Neo4j - Fatal编程技术网

同时使用Neo4j的螺栓驱动程序和Java API

同时使用Neo4j的螺栓驱动程序和Java API,java,neo4j,Java,Neo4j,大家好 我开发了一个JavaFX应用程序来支持我的科学工作(分子生物学/神经药理学),在2.x版时实现了Neo4j 现在,由于版本3(使用3.1.0-M05)已经发布,我将切换到使用驱动程序(1.1.0-M01)接口访问数据库的Bolt协议。但是,我的应用程序的一些函数仍然需要JavaAPI访问,因此我不能完全放弃旧代码。我使用单例GraphDatabaseFactory来启动数据库,如下所示 private static GraphDatabaseService instance; priv

大家好

我开发了一个JavaFX应用程序来支持我的科学工作(分子生物学/神经药理学),在2.x版时实现了Neo4j

现在,由于版本3(使用3.1.0-M05)已经发布,我将切换到使用驱动程序(1.1.0-M01)接口访问数据库的Bolt协议。但是,我的应用程序的一些函数仍然需要JavaAPI访问,因此我不能完全放弃旧代码。我使用单例GraphDatabaseFactory来启动数据库,如下所示

private static GraphDatabaseService instance;

private GraphDb() {
    instance = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(new File(FilePaths.DATABASE_PATH))
            .setConfig(ShellSettings.remote_shell_enabled, "true").newGraphDatabase();
}

public static synchronized GraphDatabaseService getInstance() {
    return instance;
}
(或者,仅使用
.newEmbeddedDatabase()
)但是现在,从版本3开始,我还使用单例驱动程序实例进行Bolt交互,如下所示

private static Driver instance;

private GraphDbDriver() {
    startLocalDb();
    instance = GraphDatabase.driver("bolt://localhost");
}

private static void startLocalDb() {
//start database here?
}


public static synchronized Driver getInstance() {
    return instance;
}
我现在的问题是(因为我认为同时使用这两种方式只会带来复杂性):我如何使用这两种与DB通信的方式,而不让它们相互妨碍

我可以让驱动程序加载到已经创建的GraphDatabaseService单例中吗


谢谢你的阅读

因此,对于任何对Neo4j 3.x感兴趣的人,建议使用“用户定义过程”来实现API命令(如遍历),然后从cypher调用它(通过
CALL