我需要在Tomcat服务器上连接一个多实例队列管理器。我找到了各种各样的“属性”,我必须设置它,但它们去哪里了?服务器XML中的Tomcat有一些设置,但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" />
如何连接多实例? AND,我还可以使用Spring DefaultMessageListenerContainer
吗? AND(o man ...)我需要什么设置?
答案 0 :(得分:1)
我没有很多Tomcat知识,但我来自WebSphere MQ背景。查看您提供的上下文,我认为以下内容适用于多实例队列管理器。
我将CRHOSTS设置为多个连接名称。我假设,在blah.blah.com主机上,队列管理器的活动实例运行并侦听端口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"
/>
希望这有帮助。
答案 1 :(得分:1)
答案是这样的:
<Resource name="jms/XXXQCF1"
CHAN="TMAX.CHANNEL"
CRSHOSTS="blah1.example.com(1420),blah2.example.com(1420)"
CROPT="67108864"
CRT="500"
QMGR="tmax.lrd.qmgr.a"
TRAN="1"
auth="Container"
description="JMS Queue Connection Factory for sending messages"
factory="com.ibm.mq.jms.MQQueueConnectionFactoryFactory"
type="com.ibm.mq.jms.MQQueueConnectionFactory" />
请注意,Shashi上面有“CRHOSTS”并且IBM文档也有相同的内容,但是当我们尝试它时它不起作用。我们向IBM发出了一张票,他们说他们的网站上的文档是不正确的(顺便说一句,他们想要一张票来修复他们的文档!)。
我尝试过Shashi的“CRHOSTS”,它没有用,CRSHOSTS确实有效。不知道为什么会这样。我们还必须将我们的罐子升级到7.5。*。 “CROPT”和“CRT”我不确定,但这些设置有效。