我开发了一个连接到 Neo4j 并创建一堆节点的应用程序。我还使用 Graphaware 为 Neo4j 开发了一个插件。这两个都在单独的 docker 中运行(一个用于代码,一个用于带有插件的 Neo4j)。
现在,由于我自动同时启动这些容器,代码应该等待 Neo4j 完全启动,然后再尝试创建节点。为此,我通过尝试使用螺栓协议(Neo4j 的驱动程序)连接到 Neo4j 来测试它的可用性。
我遇到的问题是,似乎 Neo4j 在完全加载插件之前就开始接受传入的连接。结果,在 Neo4j 实际准备好之前建立了连接,并且出现了问题(我不知道是什么)并且整个代码停止了(我认为这个问题并不重要),这一切都是因为连接是在插件已加载。我知道,因为如果我手动延迟连接,一切都会顺利进行。
所以我的问题是如何确保 Neo4j 在开始连接之前(完全)预热?现在我正在检查管理的可用性(http://localhost:7474)但是如果没有管理,首先呢?