Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使IBM MQ首选项成为包含多个主机的CCDT文件中的一个主机_Java_Ibm Mq - Fatal编程技术网

Java 如何使IBM MQ首选项成为包含多个主机的CCDT文件中的一个主机

Java 如何使IBM MQ首选项成为包含多个主机的CCDT文件中的一个主机,java,ibm-mq,Java,Ibm Mq,我得到了一个包含多个地址(IP+端口)的CCDT文件。其中有些是可以到达的,有些是不可以到达的。我想永远不要尝试连接到无法到达的连接。我如何在Java中做到这一点 MQQueueConnectionFactory cf = new MQQueueConnectionFactory(); cf.setCCDTURL(ccdt); cf.removeConnection(3); <-- NEED SOMETHING THAT DOES THIS MQQueueConnectionFactor

我得到了一个包含多个地址(IP+端口)的CCDT文件。其中有些是可以到达的,有些是不可以到达的。我想永远不要尝试连接到无法到达的连接。我如何在Java中做到这一点

MQQueueConnectionFactory cf = new MQQueueConnectionFactory();
cf.setCCDTURL(ccdt);
cf.removeConnection(3); <-- NEED SOMETHING THAT DOES THIS
MQQueueConnectionFactory cf=new MQQueueConnectionFactory();
cf.setCCDTURL(ccdt);

cf.移除连接(3);您确定它们有时不可用吗?例如灾难恢复?为什么要阻止它尝试连接到这些应用程序?您所问的问题在IBM MQ classes for JMS API中是不可能的。唯一的选择是使用诸如
runmqsc-n
之类的工具从CCDT中删除您不想要的通道。如果正如我上面提到的,那些无法访问的是真正的DR或类似的东西,那么可能更好的建议是将连接超时调整为较低的值,以便它们很快失败并继续下一个。还请注意,根据设置,您可以提供使某些CLNTCONN通道比其他通道具有更大权重的值。最好用你需要的更多细节来回答你的问题。谢谢Josh。你说得对,它们是给DR的,通常是向下的。如果我能给那些站起来的人更多的重量,让他们先被击中,那就太好了。在我的CCDT中,我有包含4个连接的CONNAME。我可以调整一下它们的重量吗?您只能按您喜欢的顺序订购,MQ将尝试从左到右连接。您可以将它们分成不同的通道并使用加权功能,但由于通道名称相同,您需要使用MQ v9.2和基于JSON的CCDT功能,二进制CCDT每个通道名称只能有一个条目,JSON放宽了此限制。如果您想要更多的控制,您还可以通过编程指定连接详细信息并绕过CCDT。我认为向下调整连接超时并将CONNAME重新排序为首选顺序可能是最简单的。如果目的地定期进行站点切换(而不是仅仅进行一次短暂的灾难恢复测试),那么根据站点的不同,也可以选择使用两个CCDT副本,它仍然会在列表末尾包含第二个站点IP,但是,如果他们切换站点,您可以在CCDT的另一个副本中加入首选的当前站点IP。您确定他们有时不可用吗?例如灾难恢复?为什么要阻止它尝试连接到这些应用程序?您所问的问题在IBM MQ classes for JMS API中是不可能的。唯一的选择是使用诸如
runmqsc-n
之类的工具从CCDT中删除您不想要的通道。如果正如我上面提到的,那些无法访问的是真正的DR或类似的东西,那么可能更好的建议是将连接超时调整为较低的值,以便它们很快失败并继续下一个。还请注意,根据设置,您可以提供使某些CLNTCONN通道比其他通道具有更大权重的值。最好用你需要的更多细节来回答你的问题。谢谢Josh。你说得对,它们是给DR的,通常是向下的。如果我能给那些站起来的人更多的重量,让他们先被击中,那就太好了。在我的CCDT中,我有包含4个连接的CONNAME。我可以调整一下它们的重量吗?您只能按您喜欢的顺序订购,MQ将尝试从左到右连接。您可以将它们分成不同的通道并使用加权功能,但由于通道名称相同,您需要使用MQ v9.2和基于JSON的CCDT功能,二进制CCDT每个通道名称只能有一个条目,JSON放宽了此限制。如果您想要更多的控制,您还可以通过编程指定连接详细信息并绕过CCDT。我认为向下调整连接超时并将CONNAME重新排序为首选顺序可能是最简单的。如果目的地定期进行站点切换(而不是仅仅进行一次短暂的灾难恢复测试),那么根据站点的不同,也可以选择使用两个CCDT副本,它仍然会在列表末尾包含第二个站点IP,但是,如果他们切换站点,您可以在CCDT的另一个副本中加入子副本,该副本将具有首选的当前站点IP。