IBM MQ Client 开发环境测试



我即将开发一个 IBM MQ 客户机。

我想从最基本的开始,所以我创建了一个项目来连接到某个队列。

public void Init(IbmMqConnection configuration)
{
// _properties is a Hashtable
_properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
_properties.Add(MQC.HOST_NAME_PROPERTY, configuration.Host);
_properties.Add(MQC.CHANNEL_PROPERTY, configuration.Channel);
MQEnvironment.Port = 1414;
MQEnvironment.UserId = configuration.UserId;
_qm = new MQQueueManager(configuration.QueueManager, _properties);
int options = 0;
options += MQC.MQOO_OUTPUT;
options += MQC.MQOO_INQUIRE;
options += MQC.MQOO_FAIL_IF_QUIESCING;
_q = _qm.AccessQueue("SYSTEM.DEFAULT.LOCAL.QUEUE", options);
}

并使用以下配置调用此方法

_qManager.Init(new IbmMqConnection
{
Host = "DESA_MQ",
UserId = "mqscpd",
Channel = "SCPPAQUE.WIN.SVRCONN",
QueueManager = "QMDESA01"
});

。而且,当然,我把这个Exception扔了。

MQException -> 完成代码 2 和原因代码 2298

好吧,我没想到会有什么不同。
我正在详尽地漫游IBM MQ文档,在安装真正的开发环境之前,我没有发现任何与服务任何类型的开发环境相关的内容。

我希望我缺少一些东西来开发我的项目,指向本地安装的(免费(开发服务器或其他东西。

我安装了 IBMMQDotnetClient 软件包,版本 9.1.5。

总结一下,在部署到真正的 IBM MQ 系统之前,如何开发我的项目测试它?
谢谢。

如果要使用 nuget 包开发 IBM MQ .NET 应用程序,则必须使用托管模式。若要使用托管模式,必须将TRANSPORT_PROPERTY设置为TRANSPORT_MQSERIES_MANAGED。MQC。TRANSPORT_MQSERIES_CLIENT使用非托管模式,并且在 MQ .NET 标准库中不受支持,这就是您看到"MQException -> 完成代码 2 和原因代码 2298"的原因。修改属性应该可以。

_properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);
_properties.Add(MQC.HOST_NAME_PROPERTY, configuration.Host);
_properties.Add(MQC.CHANNEL_PROPERTY, configuration.Channel);

通过安装 IBM MQ v9.1.5 客户机,您拥有具有一些基本 MQ .NET API 的项目模板,您可以使用这些模板连接到队列管理器,然后执行 Put/Get 操作。以下知识中心链接包含一些信息:https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.dev.doc/q134410_.htm。

正如Josh所指出的,LearnMQ也是一个很好的起点。

如果您有可用的 Docker(或其他容器运行时(,那么 IBM MQ 可在 Dockerhub 上用于开发用途。

最新更新