如何使用.Net将消息发送到MQ群集?

时间:2016-05-27 08:44:08

标签: .net ibm-mq

我需要使用.Net向MQ群集发送消息。我该怎么做?

        MQEnvironment.Hostname = "10.1.1.22";
        MQEnvironment.Port = 1455;
        MQEnvironment.Channel = "SOMECHANNEL";
        MQEnvironment.ConnectionName = "10.1.1.22(1432)";
        MQQueueManager qm =new MQQueueManager("SOMEQM");

            var openOptions = MQC.MQOO_INPUT_AS_Q_DEF| MQC.MQOO_OUTPUT;
            var queue = qm.AccessQueue("MYREQUESTQUEUE", openOptions);

目前这在最后一行失败了。打开与群集队列的连接时,要发送的正确选项是什么?

1 个答案:

答案 0 :(得分:1)

几点:

1)群集队列可能未托管在应用程序所连接的队列管理器上。

2)可以将消息放入未在应用程序连接的队列管理器上托管的群集队列。但是对于GET条消息,队列must将托管在应用程序所连接的队列管理器上。

您的应用程序正在使用MQC.MQOO_INPUT_AS_Q_DEF选项,这意味着您正在尝试从队列中获取消息,但该应用程序所连接的队列管理器上不存在该队列。因此异常被抛出。您需要删除MQC.MQOO_INPUT_AS_Q_DEF选项,并使用MQC.MQOO_OUTPUT将消息发送/放入群集队列。