2017-07-27 64 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

相關問題