gpt4 book ai didi

java - java中的MQQueueManager多实例

转载 作者:搜寻专家 更新时间:2023-11-01 03:09:59 24 4
gpt4 key购买 nike

我正在尝试对多个实例使用 MQQueueManager在 .net 中,我们有随 MQC.CONNECTION_NAME_PROPERTY 一起提供的 IBM MQ jar

    ConnectionName = "fred.mq.com(2344),nick.mq.com(3746),tom.mq.com(4288)";
Hashtable Properties-new Hashtable();
properties.Add(MQC.CONNECTION_NAME_PROPERTY,ConnectionName);
MQQueueManager qmgr=new MQQueue Manager("qmgrname",properties);

来源:http://publib.boulder.ibm.com/infocenter/wmqv7/v7r1/index.jsp?topic=%2Fcom.ibm.mq.doc%2Fun11010_.htm

但是,类似的事情我可以在 MQQueueManager 上使用连接名称列表,但没有提供使用 java。

你能帮我一下吗?我正在使用 7.0.1.6 jar

最佳答案

请引用Using a client channel definition table with WebSphere MQ classes for Java在信息中心。我已经链接到 V7.0 信息中心,因为您提到这是您正在使用的版本,但它在更高版本中的工作原理相同。

在 channel 定义中有多实例 QMgrs 和相应的多实例 CONNAME 属性之前,有客户端 channel 定义表或 CCDT,因为它更广为人知。 CCDT 包含一个或多个 QMgr 的任意数量 channel 的 CLNTCONN 定义。当多个条目在 QMName 字段中具有相同的值时,它们将被视为一个组。 (请注意,CCDT 中的 QMName 不需要需要匹配实际的 QMgr 名称。这将迫使您使用非唯一的 QMgr 名称,这不是一个好习惯。它只是一个索引CCDT 来识别 channel 组。)

为了更好地理解 CCDT,请阅读 Connecting WebSphere MQ client applications to queue managers 下的主题在信息中心,特别是 channel 权重和亲和性示例客户端 channel 定义表的角色MQCONN 调用示例。 (从左侧的目录访问这些内容。在框架的右上角有一个按钮,如果您迷路了,可以将目录同步到您所在的任何页面。)

CCDT 的一个“陷阱”是其中的每个 channel 名称都必须是唯一的。这不同于 Multi-Instance CONNAME,它在不同的 IP 地址寻找完全相同的 channel 。这是因为 CCDT 文件是使用 QMgr 上的 MQSC 命令维护的。在队列管理器管理的 namespace 内,所有对象名称都必须是唯一的。在 QMgr 上定义 channel 时,每个 channel 必须有一个唯一的名称。在 CCDT 的情况下,条目是使用 CLNTCONN channel 定义的。尽管这些指向在其他 QMgrs 上定义的 SVRCONN channel ,但由于所有 CLNTCONN channel 都在同一命名空间中定义,因此它们必须是唯一的。

为了进一步说明这一点,请考虑配置一个名为 PAYROLL 的应用程序。您可以根据应用程序名称和 QMgr 名称来构建 channel 名称。这会产生一个 channel ,该 channel 描述从左到右读取的从--> 到关系。例如,要为三个 QMgr 定义 CCDT,您需要:

* On any QMgr
DEF CHL(PAYROLL.QMGR1) CHLTYPE(CLNTCONN) QMNAME(PAY) CONNAME("qm1host(1414)")
DEF CHL(PAYROLL.QMGR2) CHLTYPE(CLNTCONN) QMNAME(PAY) CONNAME("qm2host(2414)")
DEF CHL(PAYROLL.QMGR3) CHLTYPE(CLNTCONN) QMNAME(PAY) CONNAME("qm3host(3414)")

*On QMgr1
DEF CHL(PAYROLL.QMGR1) CHLTYPE(SVRCONN)

*On QMgr2
DEF CHL(PAYROLL.QMGR2) CHLTYPE(SVRCONN)

*On QMgr3
DEF CHL(PAYROLL.QMGR3) CHLTYPE(SVRCONN)

然后应用将 QMgr 名称指定为 *PAY 并且 WMQ 客户端代码在三个条目中进行选择。其他参数可用于加权条目和重试顺序,您将在文档中看到这些参数。

注意:显示的示例被简化为说明概念的基本元素。 生产 实现的 SVRCONN 条目将包括 MCAUSER 和/或 channel 导出,可能是 SSL 参数,在 V7.1 或更高版本上,还包括一些 CHLAUTH 规则。

关于java - java中的MQQueueManager多实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12975618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com