- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试对多个实例使用 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/
我过去使用 RabbitMq 作为 MessageQueue,当收到消息时触发事件非常简单。 我查看了 IBM 安装程序提供的 .NET 源代码,但我发现处理它的方法不是很好。查看示例 SimpleS
当我在没有安装 MQ 服务器和客户端的情况下使用 C# 连接 WebSphere MQ 时,出现异常 The type initializer for 'IBM.WMQ.MQQueueManager'
使用 JBOSS 4.3 和 Java 1.5.0_15 连接到 IBM WebSphere MQ 6.0.2.3 当 JBOSS 启动时,会发生这些错误。 堆栈跟踪 Caused by: javax
主机 foo 是一个 IBM MQ 客户端(即通过 TCP/IP 的客户端模式连接)。主机栏是运行队列管理器的系统。 Bar 授予 foo 实例化 com.ibm.mq.MQQueueManager
基本上,我的工作任务涉及使用 IBM MQ 和 C#,虽然我擅长 C#,但在网络编程和 IBM MQ 方面我完全是个新手(因为我刚开始使用 IBM MQ 昨天)。 无论如何,在阅读了大量指南和示例并解
当使用以下 sslCipherSuite 创建 MQQueueManager 对象时: MQEnvironment.sslCipherSuite = "TLS_RSA_WITH_AES_128_CBC
我是一名优秀的程序员,十分优秀!