java - IBM MQ 消息监听器

标签 java jms ibm-mq

您好,有人知道如何使用 IBM MQ 创建消息监听器吗?我知道如何使用 JMS 规范执行此操作,但我不确定如何为 IBM MQ 执行此操作。非常感谢任何链接或指针。

最佳答案

虽然前面的响应者指出有一个 WMQ Java API,但 WMQ 也支持 JMS,因此这里有一些资源可以帮助您入门。

看看这篇文章:IBM WebSphere Developer Technical Journal: Running a standalone Java application on WebSphere MQ V6.0

此外,如果您已经安装了完整的 WMQ 客户端,而不只是获取 jar,那么您将安装大量示例代码。默认情况下,这些将位于 C:\Program Files\IBM\WebSphere MQ\tools\jms 或/opt/mqm/samp 中,具体取决于您的平台。

如果您需要 WMQ 客户端安装媒体,请获取它 here .请注意,这是 WMQ v7 客户端而不是 v6 客户端。它与 v6 QMgr 兼容,但自 2011 年 9 月起 v6 已停产,您应该在 v7 客户端上进行新开发,如果可能的话,v7 QMgr。如果双方都是 v7,则有很多功能和性能增强可用。

获取产品说明书here如果你需要的话。

最后,请务必在获取 JMS 异常时打印链接异常。这不是 WMQ 的事情,而是 JMS 的事情。 Sun 为 JMS 异常提供了多级数据结构,真正有趣的部分通常在嵌套级别。这没什么大不了的,只需几行即可实现:

try {
  .
  . code that might throw a JMSException
  .
} catch (JMSException je) {
  System.err.println("caught "+je);
  Exception e = je.getLinkedException();
  if (e != null) {
    System.err.println("linked exception: "+e);
  } else {
    System.err.println("No linked exception found.");
  }
}

这有助于确定 JMS 错误与传输错误之间的区别。例如,JMS 安全错误可能是 WMQ 2035,也可能是 JSSE 配置,或者应用程序可能无法访问文件系统中的某些内容。其中只有一个值得花费大量时间挖掘 WMQ 错误日志,并且只有通过打印链接的异常,您才能判断它是否就是那个。

关于java - IBM MQ 消息监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1526213/

相关文章:

使用 SSL 连接到 Tibco EMS 时出现 javax.crypto.BadPaddingException

jms - Apache Camel 多个 JMS 监听器

jms - 分布式事务 Java JMS

java - QueueManager 未连接,出现异常 : MQJE001:

ibm-mq - 确定远程 MQ 队列管理器访问我们的本地队列

java - 在 SSL url 上运行 Karate 时如何修复 'Unexpected end of ZLIB input stream' 错误

java - ListView 未初始化

java - IBM MQ 使用 Java 获取 LGETTIME

java - 在 jTree 上创建右键单击弹出菜单

java - JTable 尊重用户调整列大小 - 直到添加新行