簡體   English   中英

具有集群隊列的IBM MQ問題

[英]IBM MQ issue with cluster queue

無法將消息放入遠程隊列管理器上的群集隊列。 我正在使用MQGetMessageOptions和MQPutMessageOptions。 我正在使用7.5 MQ服務器和客戶端(7.5.0.1)

它拋出原因碼 - 2085-消息-CompCode:2,原因:2085

隊列和隊列管理器使用MQ群集連接。

 mqQueue = mqQueueMgr.AccessQueue("queue name", MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_INPUT_SHARED | MQC.MQOO_BROWSE);

我嘗試使用amqsput.exe發送測試消息,它在那里工作正常。

有什么想法嗎?

這個電話:

mqQueue = mqQueueMgr.AccessQueue("queue name", MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_INPUT_SHARED | MQC.MQOO_BROWSE);

打開群集隊列以獲取消息。 要獲取消息,應用程序必須連接到本地隊列管理器。 本地隊列管理器表示應用程序連接到的隊列管理器。 隊列管理器可以與應用程序位於同一台計算機上,也可以位於不同的計算機上。 無法從遠程隊列管理器獲取消息。 當應用程序連接到群集中的其他隊列管理器而不是承載群集隊列的隊列管理器時,可以將消息放入群集隊列。

AMQSPUT有效,因為它為Put而不是Get打開隊列。

因此,要解決您的問題,必須將選項更改為:

mqQueue = mqQueueMgr.AccessQueue("queue name", MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_OUTPUT);

嘗試

  MQQueue queue = queueManageArg.AccessQueue(queueNameArg,
                MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING);

將消息發送給MQ

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM