3

我正在使用 Java 进行 JMS 连接。我用来建立连接的命令是

QueueConnectionFactory factory = 
  new com.tibco.tibjms.TibjmsQueueConnectionFactory(JMSserverUrl);

JMSServerUrl存储我的 JMS URL 的变量在哪里。

现在的问题是我需要添加容错 URL,即两个不同的 URL。那么谁能告诉我如何在上面的代码示例中同时指定两个 URL,这样如果第一个 URL 不可访问,它应该尝试连接到另一个 URL。

4

2 回答 2

3

将所有 URL 放在一个字符串中,它们之间用逗号分隔。

new TibjmsQueueConnectionFactory("ssl://host01:20302,ssl://host02:20302");

注意,我是 Tibco EMS 新手,但这似乎可行,我可以得到的错误证明了这一点......

javax.jms.JMSSecurityException: Failed to connect to any server at:
ssl://host01:20302,ssl://host02:20302 
[Error: Can not initialize SSL client: no trusted certificates are set: 
url that returned this exception = SSL://host01:20302 ]
于 2011-07-28T05:55:26.777 回答
0

tibco 的 .NET 文档(我知道您使用 java)建议您可以为消息连接提供以逗号分隔的服务器 URL 列表。请记住,我没有任何真正的 tibco 经验,但这是处理初始连接容错的常用方法(即在建立连接和接收有关集群的信息之前,之后故障转移通常由连接处理) . 可能值得一试。我看到的另一个解决这个问题的方法是创建一个虚拟 IP 并在网络级别处理容错。

于 2011-07-26T13:36:55.740 回答