IBM MQ问题与群集队列 [英] IBM MQ issue with cluster queue

查看:1950
本文介绍了IBM MQ问题与群集队列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

不能够把消息发送到集群队列的远程队列管理器。我使用MQGetMessageOptions和MQPutMessageOptions。我使用的7.5 MQ服务器和客户端(7.5.0.1)

Not able to put a message to a cluster queue on a remote queue manager. I am using MQGetMessageOptions and MQPutMessageOptions. I am using 7.5 MQ server and client (7.5.0.1)

这引发原因码 - 2085-消息-CompCode:2,原因:2085

It throws reason code - 2085- message -CompCode: 2, Reason: 2085

队列和队列管理器使用MQ集群连接。

The queue and queue manager are connected using MQ clusters.

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



我试图使用amqsput.exe它工作正常,没有把测试消息。

I tried to put a test message using amqsput.exe it works fine there.

有什么想法

推荐答案

该呼叫:

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



打开获取信息的集群队列。以获得消息,应用必须被连接到本地队列管理器。本地队列管理器意味着您的应用程序所连接的队列管理器。队列管理器可以在同一台机器为您的应用程序或不同的机器上。消息无法从远程队列管理器了。消息可以把当应用程序被连接到非承载集群队列的队列管理集群中不同的队列管理器的集群队列。

opens the cluster queue for getting messages. To get messages, application must be connected to the local queue manager. A local queue manager means the queue manager to which your application is connected. The queue manager can be on the same machine as your application or on a different machine. Messages can't be got from a remote queue manager. Messages can be put a cluster queue when application is connected to a different queue manager in the cluster than the queue manager that hosts the cluster queue.

。AMQSPUT 的作品,因为它是开放的认沽,而不是为了获取队列

AMQSPUT works because it is opening the queue for Put and not for Get.

所以要解决你的问题的选项必须更改为:

So to solve your problem the option must be changed as:

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

这篇关于IBM MQ问题与群集队列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆