1

This may be simple beginner's question, but I would like to clarify it.

There is no way receive WMQ's message without using MDB on JBoss using container's XA-transaction. Am I right?

I mean, we can put message to MQ using AdminObject (com.ibm.mq.connector.outbound.MQQueueProxy) but only MessageListener is available to consume WMQ queue message.

Merci and Gracias and Danke and Namaste, and Xiexie!

Hashim Otto
  • 396
  • 1
  • 8
  • 15

1 Answers1

1

I don't have experience on JBoss, but the usual practice is to use the TX monitor/application server's XA facility to coordinate the resource managers. The app server's XA facility should internally use the WMQ Java/JMS XA API to begin and commit/rollback the transaction. In turn the resource managers implement the X/Open XA interface specification or JTA in this case. So, I think you are right.

MessageListener is pure JMS and I don't think it conforms to X/Open specification for resource manager coordination in a 2 phase transaction.

If you are interested in re-inventing the wheel of what MDB has already done, check WMQ JMS API docs. Pay particular attention to interfaces starting with 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

Sorry, I dont have the exact answer you are looking for, but at least I can point in the direction for MQ. If you add JMS tag, may be the JMS folks can help better. Hope it helps.

Umapathy
  • 772
  • 8
  • 21