您好,有谁知道如何使用 IBM MQ 创建消息监听器?我知道如何使用 JMS 规范来做到这一点,但我不确定如何为 IBM MQ 做到这一点。非常感谢任何链接或指针。
虽然前面的响应者指出有一个 WMQ Java API,但 WMQ 也支持 JMS,因此这里有一些资源可以帮助您入门。
看看这篇文章:IBM WebSphere Developer 技术期刊:在 WebSphere MQ V6.0 上运行独立的 Java 应用程序 http://www.ibm.com/developerworks/websphere/techjournal/0610_woolf/0610_woolf.html
另外,如果您已经安装了完整的 WMQ 客户端而不只是获取 jar,那么您将安装大量示例代码。默认情况下,这些文件将位于 C:\Program Files\IBM\WebSphere MQ\tools\jms 或 /opt/mqm/samp 中,具体取决于您的平台。
如果您需要 WMQ 客户端安装介质,请获取它。请注意,这是 WMQ v7 客户端,而不是 v6 客户端。它与 v6 QMgr 兼容,但由于 v6 已于 2011 年 9 月终止,您应该在 v7 客户端上进行新的开发,如果可能的话,还应该在 v7 QMgr 上进行新的开发。如果双方都是 v7,则可以提供许多功能和性能增强。
您可以获取产品手册here http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.csqzaw.doc/uj10120_.htm如果你需要的话。
最后,请确保在收到 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 错误日志,并且只有通过打印链接的异常,您才能判断是否是那个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)