1

这可能是简单的初学者问题,但我想澄清一下。

如果不使用容器的 XA 事务在 JBoss 上使用 MDB,就无法接收 WMQ 的消息。我对吗?

我的意思是,我们可以使用 AdminObject (com.ibm.mq.connector.outbound.MQQueueProxy) 将消息发送到 MQ,但只有 MessageListener 可用于使用 WMQ 队列消息。

Merci、Gracias、Danke、Namaste,还有谢歇!

4

1 回答 1

1

我没有使用 JBoss 的经验,但通常的做法是使用 TX 监视器/应用程序服务器的 XA 工具来协调资源管理器。应用服务器的 XA 工具应该在内部使用 WMQ Java/JMS XA API 来开始和提交/回滚事务。在这种情况下,资源管理器依次实现 X/Open XA 接口规范或 JTA。所以,我认为你是对的。

MessageListener 是纯 JMS,我认为它不符合 X/Open 规范,用于两阶段事务中的资源管理器协调。

如果您有兴趣重新发明 MDB 已经完成的工作,请查看 WMQ JMS API 文档。特别注意以JmsXA开头的接口... http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/index.jsp?topic=%2Fcom.ibm.mq.dev.doc%2Fq031500_.htm http ://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/index.jsp?topic=%2Fcom.ibm.mq.dev.doc%2Fq031500_.htm http://pic.dhe.ibm.com/infocenter /wmqv7/v7r5/index.jsp?topic=%2Fcom.ibm.mq.javadoc.doc%2FWMQJMSClasses%2Findex.html

抱歉,我没有您正在寻找的确切答案,但至少我可以指出 MQ 的方向。如果您添加 JMS 标记,可能 JMS 人员可以提供更好的帮助。希望能帮助到你。

于 2014-02-26T23:52:00.497 回答