我有一个客户端应用程序正在连接到具有持久订阅者的 MQ 主题。
当使用 MQ Session 对象的方法创建我的订阅者时CreateDurableSubscriber(IDestination dest, string subscription);
,客户端使用此模式构建它自己的订阅名称:
X MS:{队列管理器}:{客户端 ID}:{订阅}
但是服务器在该字符串的开头期待J MS 而不是X MS。
这是一个代码示例:
using IBM.XMS;
var connectionFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ).CreateConnectionFactory();
connectionFactory.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT_UNMANAGED);
connectionFactory.SetIntProperty(XMSC.WMQ_CLIENT_RECONNECT_OPTIONS, XMSC.WMQ_CLIENT_RECONNECT_Q_MGR);
connectionFactory.SetStringProperty(XMSC.WMQ_CONNECTION_NAME_LIST, "localhost(1414)");
connectionFactory.SetStringProperty(XMSC.WMQ_CHANNEL, "channel");
connectionFactory.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "QMGR");
connectionFactory.SetStringProperty(XMSC.CLIENT_ID, "CLIENT_ID");
var connection = connectionFactory.CreateConnection();
var session = connection.CreateSession(false, AcknowledgeMode.AutoAcknowledge);
var destination = session.CreateTopic("/THE/TOPIC");
var subscriber = session.CreateDurableSubscriber(destination, "SUBSCRIPTION");
connection.Start();
它尝试连接到名为XMS:QMGR:CLIENT_ID:SUBSCRITION
.
我正在使用 IBM.XMS.dll 版本 9.1.4 从MQ_Client-9.1.4.0-IBM-MQC-Win64
.
当客户端构建该订阅名称时,我找不到任何文档或属性来覆盖此 XMS 值......任何线索?