我配置了一个包含3个节点的OrientDB群集。 假设节点名称是:
我有一个配置文件来获取此URL并创建正确的URL以传递给OrientGraphFactory(例如remote:leonardo.domain.ext / mydb)
我创建GraphFactory如下:
OrientGraphFactory factory = new OrientGraphFactory(url,username,password).setupPool(1, 10);
如果leonardo在我尝试创建OrientGraphFactory时失败了,我没有任何问题,但是当我这样做时会出现异常。
factory.getNoTx();
阅读文档https://orientdb.gitbooks.io/orientdb-manual/content/orientdb.wiki/Distributed-Architecture-Lifecycle.html我明白如果leonardo因任何原因而失败,客户端会自动重新连接到其他实例。 这对于工厂及将来尝试创建的连接或仅用于活动连接是否有效?
我是否必须设法在我的应用程序中重新创建工厂?
答案 0 :(得分:2)
您可以使用以分号分隔的所有地址:
remote:leonardo.domain.ext;michelangelo.domain.ext;donatello.domain.ext/mydb
OrientDB将尝试连接到第一个,但如果它无法访问,它将按顺序尝试其他。
如果您使用的是2.2.x版本,它还可以在客户端进行负载平衡。
希望它有所帮助。