Java中的Fault Tolerance JMS URL

时间:2011-07-26 11:19:39

标签: tibco tibco-ems

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

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

其中JMSServerUrl是存储我的JMS URL的变量。

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

2 个答案:

答案 0 :(得分:3)

将所有网址放在一个字符串中,并在它们之间加上逗号。

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 ]

答案 1 :(得分:0)

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