Orientdb 如何使用OrientGraphFactory管理多个url

Orientdb 如何使用OrientGraphFactory管理多个url,orientdb,Orientdb,我配置了一个带有3个节点的OrientDB集群。 假设节点名称为: leonardo.domain.ext 米开朗基罗.domain.ext donatello.domain.ext 我有一个配置文件来获取这些url,并创建适当的url以传递给OrientGraphFactory(例如,remote:leonardo.domain.ext/mydb) 我创建GraphFactory如下所示: OrientGraphFactory factory = new OrientGraphFactor

我配置了一个带有3个节点的OrientDB集群。 假设节点名称为:

  • leonardo.domain.ext
  • 米开朗基罗.domain.ext
  • donatello.domain.ext
我有一个配置文件来获取这些url,并创建适当的url以传递给OrientGraphFactory(例如,remote:leonardo.domain.ext/mydb)

我创建GraphFactory如下所示:

OrientGraphFactory factory = new OrientGraphFactory(url,username,password).setupPool(1, 10);
如果莱昂纳多在我尝试创建OrientGraphFactory时失败了,我没有任何问题,但当我创建OrientGraphFactory时,我得到了一个例外

factory.getNoTx();
阅读文档后,我了解到,如果leonardo出现故障(出于任何原因),客户端会自动重新连接到其他实例。 这对工厂及其将来尝试创建的连接有效,还是仅对活动的连接有效


我必须在我的应用程序中重新创建工厂吗?

您可以使用用分号分隔的所有地址:

remote:leonardo.domain.ext;米开朗基罗.domain.ext;donatello.domain.ext/mydb

OrientDB将尝试连接到第一个,但如果无法连接到第一个,它将依次尝试其他

如果您使用的是2.2.x版本,它还将在客户端执行负载平衡


希望有帮助。

你试过我的建议吗?成功了吗?