首页 > 解决方案 > 使用 XMS 写入远程 IBM MQ 队列

问题描述

我正在尝试REMOTE使用 XMS 版本 9.1 将消息放入队列中。MQ 服务器也升级到 9.1,但我的消息没有发送到远程服务器。

var cf = factoryFactory.CreateConnectionFactory();
cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
cf.SetStringProperty(XMSC.WMQ_HOST_NAME, _host);
cf.SetIntProperty(XMSC.WMQ_PORT, _port);
cf.SetStringProperty(XMSC.WMQ_CHANNEL, _channel);
cf.SetIntProperty(XMSC.WMQ_CLIENT_RECONNECT_OPTIONS, XMSC.WMQ_CLIENT_RECONNECT_Q_MGR);
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, _managerName);

_connection = cf.CreateConnection();
_session = _connection.CreateSession(false, AcknowledgeMode.AutoAcknowledge);

以不同的方式...

var queue = _session.CreateQueue(queueName);
var producer = _session.CreateProducer(queue);

var msg = _session.CreateTextMessage(message);
producer.Send(msg);

我一直找不到很多例子。是否有producer必须设置的属性才能写入远程队列?

提前致谢。

标签: c#.netibm-mqxms

解决方案


在我的情况下,修复是设置 WMQ_TARGET_CLIENT:

queue.SetIntProperty(XMSC.WMQ_TARGET_CLIENT, XMSC.WMQ_TARGET_DEST_MQ);

推荐阅读