[英]How do you connect to a Multi-Instance MQSeries Queue Manager using properties?
[英]How do I connect to a Multi-Instance Queue Manager on Tomcat using Spring?
我需要在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" />
如何連接一個多實例? 而且,我還能使用Spring DefaultMessageListenerContainer
嗎? AND(天啊...)我需要什么設置?
我沒有太多的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"
/>
希望這可以幫助。
所以答案是這樣的:
<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”,但是這些設置有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.