2017-07-27 25 views
0

我开发了一个连接到Neo4j并创建一堆节点的应用程序。我还使用Graphaware为Neo4j开发了一个插件。并且这些都在单独的docker中运行(一个用于代码,另一个用于带插件的Neo4j)。如何知道Neo4j何时准备服务

现在,由于我自动和同时启动这些容器,代码应该等待Neo4j在它尝试创建节点之前完全启动。为此,我通过尝试使用螺栓协议(Neo4j的驱动程序)连接到它来测试Neo4j的可用性。

我得到的问题是,它似乎Neo4j开始接受传入连接之前,它完全加载插件。结果,在Neo4j实际准备好之前,连接就已经完成,并且出现了一些问题(我不知道是什么)并且整个代码都暂停了(我认为这个问题并不重要),因为连接是在插件被加载。我知道,因为如果我手动延迟连接,一切都顺利进行。

所以我的问题是如何确保Neo4j在开始连接之前完全预热?现在我正在检查管理的可用性(http://localhost:7474),但如果没有管理,首先要做什么?

回答

0

目前你会发现你可以保持管理界面本地,但你不能真正关闭它(除非你在嵌入模式下工作),所以等待http://localhost:7474是一个好方法。如果你想更细粒度的,你可以检查yourinstallation \日志\

的debug.log
2017-07-27 03:58:53.643+0000 INFO [o.n.k.AvailabilityGuard] Fulfilling of requirement makes database available: Database available 
2017-07-27 03:58:53.644+0000 INFO [o.n.k.i.f.GraphDatabaseFacadeFactory] Database is now ready 

希望这有助于。

Regards, Tom

相关问题