我们有一个应用程序需要与多实例队列管理器通信。两者(实例)都在默认端口上运行,并且具有唯一的地址。
- 服务器 A.internal.company.address
- 服务器B.internal.company.address
我们使用以下代码来建立连接工厂:
MQQueueConnectionFactory connectionFactory = new MQQueueConnectionFactory();
connectionFactory.setTransportType(1);
connectionFactory.setPort(1414);
connectionFactory.setChannel("CLIENTCONNECTION");
connectionFactory.setQueueManager("queue.manager.name.here");
connectionFactory.setHostName("serverA.internal.company.address");
我们如何指定这两个地址,以便在不编写自己的重试逻辑的情况下实现故障转移?
使用以下
方法:
connectionFactory.setConnectionNameList("serverA.internal.company.address(1414),"
+ "serverB.internal.company.address(1414)")
而不是
connectionFactory.setHostName("serverA.internal.company.address");
connectionFactory.setPort(1414);
为我们做了这个把戏。
您走在正确的轨道上 - 但请查看此技术说明以获取信息。
http://www-01.ibm.com/support/docview.wss?uid=swg21508357