问题标签 [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 回答
223 浏览

ibm-mq - 在点网windows服务中实现IBM.XMS

我正在开发一个 Windows 服务,它将使用 IBM.XMS 侦听器从 MQ 读取消息。

我只需要阅读超过 120 秒的消息。我已经成功创建了一个侦听器,它正在读取进入队列的所有消息,但我无法在侦听器上放置过滤器。

下面是我的代码,它正在读取所有消息

这段代码正在阅读我不想要的所有消息。

0 投票
1 回答
760 浏览

c# - XMS mq client_acknowledge - 单独确认消息

我正在尝试编写能够抵抗意外情况的 MQ 客户端。我用 client_acknowledge 模式创建了客户端:

在 XMS 文档中有 CLIENT_ACKNOWLEDGE 的信息:

应用程序可以单独确认收到每条消息,也可以接收一批消息并仅针对它收到的最后一条消息调用 Acknowledge 方法。当调用 Acknowledge 方法时,自上次调用该方法以来收到的所有消息都会被确认。

客户端从队列中获取例如 10 条消息并将它们写入数据库。

问题是如何设置此模式并确认每条消息(以确保消息传递)?

0 投票
1 回答
163 浏览

c# - 当活动和备用队列管理器都重新启动时,IBM XMS 客户端没有调用 ExceptionListerner

我正在使用 XMS .NET 客户端 7.5 版本连接到 WebSphere 的多实例队列管理器。

并异步接收消息并订阅异常侦听器以接收 WMQ 连接上发生的任何异常。

为了测试队列管理器故障转移场景,我们终止了现有连接并关闭了活动队列管理器实例并启动了备用实例。在此操作过程中,连接的 XMS 客户端会调用附加的异常侦听器。Exception Listener方法里面的逻辑,重启连接。然后我们很好,我们再次开始在队列中接收消息。

但是,当多实例队列管理器中存在的所有 2 个实例(在我们的案例中为 2)一起重新启动时,我们没有看到调用了 Exception Listener 方法。因此,尽管队列中存在消息,但我们没有任何消息。

(后来我们关闭客户端应用程序并重新启动,然后我们开始接收消息。)

有了这个我的问题是:

  1. 这是我描述的场景中发生的例外情况吗?

  2. 如果是,即使在这种情况下,如何才能调用异常侦听器方法。我需要在 XMSC 类的连接工厂上设置任何设置吗?

  3. 还有我的最后一个问题。特定的 .NET XMS 客户端和一般的 JMS 客户端如何知道连接仍然有效?

0 投票
2 回答
1650 浏览

ibm-mq - 如何在 C# usig XMS.net 中仅获取 2 分钟以上的 MQ 消息?

我使用 IBM XMS.NET 创建了一个应用程序。一切都很好,我可以从队列中读取消息。我只想阅读那些 2 分钟后旧的消息。在这种情况下如何使用选择器。下面是我创建的代码。

这里选择器设置为固定值,例如 1454322340382。我如何设置选择器以选择最新的 DateTime.Now,然后查找比 DateTime.Now 更早的消息 - 2 分钟。

0 投票
1 回答
349 浏览

c++ - MessageProducer.send() 对于特定主题来说太慢了

我已经缩小了我面临的问题的范围,结果发现MessageProducer.send()当它为特定主题创建时太慢了"replyfeserver"

在这里,send()偶尔会阻塞长达 55-65 秒——几乎是在 4-5 次调用之后,通常长达 5-15 秒。

但是,如果我使用其他主题,请说"feserver.action.status".

现在调用send()立即返回,在几分之一秒内。我已经尝试send()过其他几个主题,并且它们都运行得足够快。

这个特定主题可能存在哪些问题"replyfeserver"?为了诊断问题,我应该查看哪些内容?过去 2 个月我一直在使用这个主题。

我正在使用 XMS C++ API,请假设context对象是创建会话、目的地、消费者、生产者等的抽象。

我还想知道这两种方法之间是否有任何区别:

对比

我尝试了两者,它没有任何区别 - 至少我没有注意到它。

0 投票
1 回答
1465 浏览

jms - 如何在多线程应用程序中为每个连接使用多个会话?

假设我有一个连接c和许多会话对象s1s2.. sn,每个都在不同的线程中工作t1t2...tn

现在假设一个线程t3想要向特定队列发送消息q3,然后异步收听回复。所以它执行以下操作:

c.stop()我在开始和结束时调用的原因c.start(),因为我不确定是否有任何其他线程调用start了连接(使所有会话异步 - 对吗?)并且根据文档

“如果必须在异步会话上进行同步调用,例如创建消费者或生产者,则必须调用Connection.Stop。可以通过调用Connection.Start方法来恢复会话以开始传递消息。”

因此stop,在步骤开始时调用然后start最后调用似乎是合理的,因此代码似乎是正确的(至少对我而言)。但是,当我仔细考虑时,我认为代码有问题,因为它不能确保在完成所有步骤start之前没有其他线程调用。t3

所以我的问题是:

  • 我需要使用互斥锁来确保它吗?还是 XMS 自动处理它(这意味着我的推理是错误的)?
  • 如何设计我的应用程序,这样我就不必每次都想发送消息并异步收听回复stop时调用?start
  • 根据上面引用的文本,如果连接处于异步模式,我无法createProducer()调用createConsumer()。还有哪些我不能调用的方法?该文档没有以这种方式对方法进行分类:

此外,文档没有明确说明是什么使会话异步。说:

“通过将消息侦听器分配给消费者,不会使会话异步。仅当调用 Connection.Start 方法时,会话才会变为异步。”

我在这里看到两个问题:

  • 调用c.start()使所有会话异步,而不仅仅是一个。
  • 如果我调用c.start()但没有为消费者分配任何消息侦听器,会话是否仍然是异步的?

看来我有很多问题,所以如果有人可以向我提供文档的部分或部分的链接,这些部分或部分解释了 XMS 对象的详细信息,那就太好了。

说,

“根据规范,在 Connection 上调用 stop()、close()、在 Session 上调用 setMessageListener() 等必须等到所有消息处理完成,即直到所有已输入的 onMessage() 调用退出。所以如果有人试图在 onMessage() 中执行该操作,那么设计上就会出现死锁。”

但我不确定该信息是否真实,因为我没有在 IBM 文档中找到此信息。

0 投票
1 回答
95 浏览

c# - c# websphere在windows tcp上设置本地端口

我正在使用 IBM websphere XMS API 连接大型机并向其发送消息。但是,发送的每条消息都是通过一个新的本地端口发送的。有没有办法将其设置为固定端口?

命中以下行时,会在本地创建一个新端口:

我正在使用的代码是

我们试过了

我们也试过

我们也试过

测试结束,下面的其余部分保持原样。

任何帮助,将不胜感激。谢谢。

0 投票
1 回答
163 浏览

c# - 浏览中的 MQ Max 消息长度问题

我们有一个使用 XMS.NET 连接到 MQ 的 .Net 应用程序。我们面临以下一个问题。- 我们在队列中有一条长度约为 5~5.5 MB 的消息,如果通道的最大消息长度设置为 4 MB,则我们无法浏览消息。但是如果我将通道长度增加到 6 MB,那么我们就可以读取消息。- 但是在其他环境中,虽然通道的最大消息长度太高,但消息也不会被读取,也不会引发任何异常。- 我们正在使用 XMS.NET 的 IQueueBrowser 的 MoveNext。

请指导我们……</p>

0 投票
1 回答
1307 浏览

ibm-mq - Websphere MQ 客户端 9.0 版与 .NET 框架的兼容性

我们正在使用 MQ Client 版本 7.5.0.5(64 位),现在想迁移到版本 9.0(64 位)。从这里下载的安装程序。

话虽如此,我想在下面问:

  1. 应用程序是针对版本 7.5.0.5 编译的;使应用程序能够与版本一起使用。9.0 MQ客户端安装是否需要针对9.0编译。?
  2. MQ 客户端版本。7.5.0.5 适用于 .NET 框架 4.0。我猜是 MQ 客户端版本。9.0。也适用于 .NET 框架 4.0,对吗?
  3. 我搜索了 IBM 站点,但没有找到解释上述兼容性信息的页面。如果有任何页面解释上述内容,我可能还没有找到。知道的话可以给个链接吗?
0 投票
1 回答
1489 浏览

ibm-mq - IBM MQ Client 9.0 在 Window 7 Professional SP1 上安装失败

系统配置: Windows 7 专业版 SP1(64 位)

  1. 已卸载 MQ 客户端 7.5
  2. 后来尝试安装 MQ Client 9.0,从这里下载。但是运行2分钟后安装,最终失败并出现以下错误。我选择了默认设置组件。

Blockquote 错误 1713。IBM MQ(安装 1)无法安装其所需产品之一。请联系您的技术支持小组。

  1. 查看了临时文件夹安装日志文件。@CustomAction“iwiInstall32bitRuntime”安装失败。

MSI (s) (2C:A0) [17:36:55:139]: 注意: 1: 2203 2: C:\PATH \IBM MQ\9.0.0.0-IBM-MQC-Win64\Windows\msi\IBM MQ 32bitSupport.msi 3:-2147287038

CustomAction iwiInstall32bitRuntime 返回实际错误代码 2(请注意,如果翻译发生在沙箱内,这可能不是 100% 准确)

MSI (s) (2C:1C) [17:36:55:139]:注:1:1713 2:IBM MQ(安装 1)3:1631

信息 2835。在 SetupError 对话框中找不到控件 ErrorIcon。

错误 1713。IBM MQ(安装 1)无法安装其所需产品之一。请联系您的技术支持小组。系统错误:1631。

MSI (s) (2C:1C) [17:37:54:336]:产品:IBM MQ(安装 1)——错误 1713。IBM MQ(安装 1)无法安装其所需产品之一。请联系您的技术支持小组。系统错误:1631。

行动于 17:37:54 结束:iwiInstall32bitRuntime。返回值 3。

此错误的任何解决方案?