我需要在 Tomcat 服务器上连接一个多实例队列管理器。我已经找到了我必须设置的各种“属性”,但是它们去哪里了? Tomcat,在服务器 XML 中有一些设置,但 IBM 文档中所需的大部分设置没有映射。目前我们已经连接了一个像这样的“单一”实例队列:
<Resource name="jms/TelematicsQCF" CHAN="JAVA.Z1LC.CLIENT" HOST="blah.blah.com" PORT="1111" QMGR="MQB3" TRAN="1" auth="Container" description="JMS Queue Connection Factory for sending messages" factory="com.ibm.mq.jms.MQQueueConnectionFactoryFactory" type="com.ibm.mq.jms.MQQueueConnectionFactory" />
如何连接多实例?而且,我还能使用 Spring DefaultMessageListenerContainer
吗?并且(天哪...)我需要什么设置?
最佳答案
我对 Tomcat 了解不多,但我有 WebSphere MQ 背景。查看您提供的上下文,我认为以下内容适用于多实例队列管理器。
我正在将 CRHOSTS 设置为多个连接名称。我假设在 blah.blah.com 主机上,队列管理器的 Activity 实例在端口 1414 上运行和监听,备用实例在 b2.b3.com 上运行并在端口 1544 上监听。
CROPT 是重新连接选项,设置为 WMQ_CLIENT_RECONNECT_Q_MGR
,其值为 67108864。您可以从 cmqc.h
文件中找到这些常量的值。
CRT 是重新连接超时值,表示客户端将尝试重新连接多长时间。超时期限过后,如果连接尝试不成功,客户端将停止重新连接。在本例中,我将该值设置为 500 秒。
<Resource
name="jms/TelematicsQCF"
CHAN="JAVA.Z1LC.CLIENT"
CRHOSTS="blah.blah.com(1414), b2.b3.com(1544)"
CROPT="67108864"
CRT="500"
QMGR="MQB3"
TRAN="1" auth="Container"
description="JMS Queue Connection Factory for sending messages"
factory="com.ibm.mq.jms.MQQueueConnectionFactoryFactory"
type="com.ibm.mq.jms.MQQueueConnectionFactory"
/>
希望这对您有所帮助。
关于java - 如何使用 Spring 连接到 Tomcat 上的多实例队列管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20402893/