首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时使用Neo4j的螺栓驱动程序和Java

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

Stack Overflow用户
提问于 2016-08-09 16:42:38
回答 1查看 353关注 0票数 2

大家好!

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

现在,由于版本3(使用3.1.0-M05)已经过时,我将切换到数据库的Bolt协议访问,并使用驱动程序(1.1.0-M01)接口。不过,我的应用程序的某些功能仍然需要Java访问,所以我不能完全放弃旧代码。我使用单例GraphDatabaseFactory启动数据库,如下所示

代码语言:javascript
复制
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版开始,我还使用了一个单例驱动实例来进行螺栓交互,如下所示

代码语言:javascript
复制
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单例吗?

感谢您的阅读!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-17 14:14:15

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38856283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档