问题标签 [xms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2590 浏览

ibm-mq - 如何在我的 .NET 项目中引用 IBM.XMS.dll

我正在构建一个程序,它将开始监听 IBM 队列。为此,我使用了随 Windows 安装的 Websphere MQ 客户端安装的 IBM.XMS.dll。我问自己,当我将它部署到验收或生产时,我可能还必须在那台机器上安装 Websphere MQ 客户端吗?

我的另一个问题是,我是否必须像这样引用 IBM.XMS.dll C:\Program Files\IBM\WebSphere MQ\bin\IBM.XMS.dll:?我尝试将 IBM.XMS.dll 放在我的 .NET 解决方案的构建文件夹中,但这不起作用,因为 dll 依赖于其他 dll。

编辑

查看示例后,我发现 IBM 编写的示例引用了 GAC 中的 dll。所以我也做了同样的事情。

  1. Ctrl+R
  2. 类型C:\WINDOWS\assembly\GAC_MSIL\IBM.XMS
  3. Enter
  4. 找到 IBM.XMS.dll 并在您的解决方案中引用这个
0 投票
0 回答
819 浏览

c# - 订阅者的 IBM MQ 重新连接逻辑

我有一个 Windows 服务,它将订阅队列并连续处理消息。除了重新连接逻辑之外,一切都在工作。我在我的代码中使用 IBM.XMS.dll 版本 8。

当 IBM Websphere MQ 服务器发生故障转移时,我在重新建立订阅时遇到问题。在故障转移期间,我收到以下异常:

在 onException 事件处理程序中重新建立订阅时,我需要一些帮助:

以下是我的 XMS 实现的完整代码片段。

0 投票
1 回答
1006 浏览

ibm-mq - 从多实例队列管理器获取活动 QM 实例并连接

当我将队列管理器的单个实例更改为多实例队列管理器时,我无法为多实例队列管理器定义多个主机名。现有主机在 web.config 中定义

连接在这里定义

队列处理程序:

并且主机名和端口也在 SendNewMessage 方法的同一个类中定义......

那么如何在 MQEnvironment.Hostname 中设置备用主机呢?

0 投票
2 回答
651 浏览

c# - CreateTopic 上的 IBM MQ XMS 错误 2085

我正在尝试创建一个主题并将消息发布到 IBM MQ 主题。我收到 2085 MQ 异常并确定如何解决此问题。
我使用的 IBM.XMS.dll 版本是 8.0.0.6。

控制台应用程序代码:

异常详情:

错误消息:
CWSMQ0006E:在调用 WmqV6Session.SetupPubSub 方法期间收到异常:CompCode:2,原因:2085。在执行指定方法期间,另一个组件引发了异常。有关详细信息,请参阅链接的异常。

链接异常原因:2085

链接异常堆栈跟踪:
在 IBM.WMQ.MQQueue..ctor(MQQueueManager qMgr, String queueName, Int32 openOptions, String queueManagerName, String dynamicQueueName, String alternateUserId) 在 IBM.WMQ.MQQueue.Open(MQObjectDescriptor& od) 在 IBM.WMQ。 IBM.WMQ.MQQueueManager.AccessQueue(String queueName, Int32 openOptions) 在 IBM.XMS.Client.WMQ.MqV6Impl.WmqV6Session.SetUpPubSub(Boolean) 的 MQQueueManager.AccessQueue(String queueName, Int32 openOptions, String queueManagerName, String dynamicQueueName, String alternateUserId)开始清理)

0 投票
0 回答
166 浏览

c# - 发布到主题时出现随机 IBM MQ XMS 错误 2195

我在将 JSON 字符串消息发布到 IBM MQ 主题时遇到了这个随机问题。它总是如此随机地发生。我不确定如何查明问题。自从我切换到 SSL 通道后,这种情况就发生了。

我使用的 IBM.XMS.dll 版本是 8.0.0.6。以下是代码片段和异常详细信息:

例外:

堆栈跟踪:
在 IBM.WMQ.MQFAP.NmqiConnect(String name, NmqiConnectOptions pNmqiConnectOpts, MQConnectOptions cno, Hconn parentHconn, Phconn pHconn, Int32& compCode, Int32& reason, ManagedHconn rcnHconn)
在 IBM.WMQ.MQFAP.NmqiConnect(String pQMgrName, NmqiConnectOptions pNmqiConnectOpts , MQConnectOptions pConnectOpts, Hconn parentHconn, Phconn pHconn, Int32& pCompCode, Int32& pReason)
在 IBM.XMS.Client.WMQ.WmqSession..ctor(WmqConnection connection, AcknowledgeMode ackMode, XmsPropertyContext properties)
在 IBM.XMS.Client.WMQ.WmqConnection。
IBM.XMS.Client.Impl.XmsConnectionImpl.CreateSession(Boolean transacted, AcknowledgeMode ackMode) 上的CreateSession(XmsPropertyContext properties, AcknowledgeMode ackMode)

0 投票
1 回答
934 浏览

ibm-mq - 使用 XMS 向多实例队列管理器发送消息

关注这篇文章:从多实例队列管理器获取活动 QM 实例并连接

我创建了一个连接

然后是

发送消息,但是它在最后一行生产者抛出异常。发送(响应):

从跟踪中我可以看到生产者在连接名称列表中有我的两个活动/备用主机,还有“localhost”作为主机名和 1414 作为端口,这就是我无法连接到它的原因吗?

0 投票
1 回答
798 浏览

c# - IBM Webshpere MQ .net client, which is more suitble amqmdnet or XMS

I have a IBM websphere MQ .net client application which uses amqmdnet dll. It works fine but I am not able to read messages in event(subscription) based manner. Reading online I found that XMS library has in-built subscriber methods.

I am also looking at scalability of the .net client application which will allow a cluster of nodes reading the same MQ pipeline. My objective is to create a .net message consumer which supports

  • point-to-point & publish/subscribe method

  • Cluster of nodes connecting to same queue and consuming messages.

  • Remove the messages from pipeline once it is persisted.

Which of the method is preferred in such scenario?

0 投票
4 回答
294 浏览

ibm-mq - IBM MQ XMS v7.5。在 .Net C# amqmdnac.dll 中实现消息侦听器时出错

创建在.Net C#中实现的IBM MQ 消息侦听器在 MQ 客户端 7.5.0.2 上工作时,我在安装 MQ 客户端 7.5 后遇到了几个问题。修订包 7

其中一个也是最重要的一个是,我的客户端工具试图找到一个名为

amqmdnac.dll

在 %Program Files (x86)%\IBM\Websphere MQ\bin 中运行时。

该文件在 MQ 客户端 7.5 上不存在。爬取 www 以获取下载可能性或此问题的答案除了对 MQ Client 7.1 的提示没有帮助之外没有任何结果。

0 投票
2 回答
650 浏览

c# - queueBrowser.GetEnumerator() 没有收到任何消息 | IBM MQ XMS C# 客户端

我们正在使用 IBM MQ XMS C# 客户端版本 9.0(在 .NET 4.6.2 框架上)与 IBM MQ 一起工作。我只需要知道给定队列上的所有消息,而无需将它们从队列中删除。

我们还为队列设置了消费者。需要消费者和浏览器协同工作。浏览器不应删除消息,但仍需要获取所有消息。


所以我设置了一个像下面这样的 QueueBrowser,但是 queueBrowser.GetEnumerator() 根本没有收到消息。

使用相同的代码,如果创建一个 MessageConsumer 并附加一个侦听器,它将获取发布到队列的消息。因此,仅 QueueBrowser 出现问题。

谁能指出为什么会这样。为什么 queueEnumerator.MoveNext() 总是返回 false,表示队列中没有消息。

0 投票
3 回答
2583 浏览

c# - 连接失败时重新连接到 IBM MQ 队列

以下代码片段包含我的 IBM MQ 队列的连接和订阅逻辑。当出现连接失败时,我使用 IConnection.ExceptionListener 委托通过队列建立新连接并重新订阅消息。但问题是,我可以看到多个队列句柄。我如何确保关闭以前的连接句柄并在由于网络问题或 MQ 服务器重新启动而导致连接中断的情况下建立新连接?