如何使用OrientGraphFactory管理多个URL

时间:2016-10-13 15:50:49

标签: orientdb

我配置了一个包含3个节点的OrientDB群集。 假设节点名称是:

  • leonardo.domain.ext
  • michelangelo.domain.ext
  • donatello.domain.ext

我有一个配置文件来获取此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因任何原因而失败,客户端会自动重新连接到其他实例。 这对于工厂及将来尝试创建的连接或仅用于活动连接是否有效?

我是否必须设法在我的应用程序中重新创建工厂?

1 个答案:

答案 0 :(得分:2)

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

remote:leonardo.domain.ext;michelangelo.domain.ext;donatello.domain.ext/mydb

OrientDB将尝试连接到第一个,但如果它无法访问,它将按顺序尝试其他。

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

希望它有所帮助。