gpt4 book ai didi

c# - 集群队列的 IBM MQ 问题

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:47 26 4
gpt4 key购买 nike

无法将消息放入远程队列管理器上的集群队列。我正在使用 MQGetMessageOptions 和 MQPutMessageOptions。我正在使用 7.5 MQ 服务器和客户端 (7.5.0.1)

它抛出原因代码 - 2085- message -CompCode: 2, Reason: 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);

关于c# - 集群队列的 IBM MQ 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17076247/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com