Getting 'MQCC_FAILED' reason '2072' 'MQRC_SYNCPOINT_NOT_AVAILABLE' while attempting to send a message

2k Views Asked by At

I have an MDB (mdbA) in JBoss 5.1 GA which listens to an MQ 7.0 queue. After reception, the message is persisted to a MySQL database and I would like to send the message to another queue (queueB) and then continue processing the message in mdbA which does some more inserts and sends a message to a HornetQ. All works fine for the first message and I see the message in Database as well as queueB and hornetQ. For all subsequent messages, the "send to queueB" results in 'MQRC_SYNCPOINT_NOT_AVAILABLE'error 2072.

My mdbA has the following annotations. @TransactionAttribute (TransactionAttributeType.REQUIRED) @Service

Please let me know if I need to provide more information.

Could someone please assist?

1

There are 1 best solutions below

0
On

Solved a similar issue in WebLogic where the MDB itself was annotated @TransactionManagement(TransactionManagementType.BEAN) and choosing instead @TransactionManagement(TransactionManagementType.CONTAINER) solved the issue, with no Transaction attribute on methods, hence default REQUIRED.

In fact, sound MDB's would likely delegate transactions to the container and not attempt to control them explicitly in code. If you use BEAN management type and do not open explicitly a transaction context, no sync point would be available...