IBM MQ issue with cluster queue

萝らか妹 提交于 2019-12-06 15:47:44

This call:

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 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);

Try

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

to put message to MQ

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!