在尝试发送消息时获取'MQCC_FAILED'原因'2072''M3RC_SYNCPOINT_NOT_AVAILABLE'

时间:2014-01-13 03:04:11

标签: ibm-mq hornetq jboss-messaging

我在JBoss 5.1 GA中有一个MDB(mdbA),它监听MQ 7.0队列。接收后,消息将持久存储到MySQL数据库,我想将消息发送到另一个队列(queueB),然后继续处理mdbA中的消息,该消息执行更多插入并向HornetQ发送消息。一切都适用于第一条消息,我在数据库以及queueB和hornetQ中看到了消息。对于所有后续消息,“发送到queueB”会导致'MQRC_SYNCPOINT_NOT_AVAILABLE'error 2072。

我的mdbA有以下注释。 @TransactionAttribute(TransactionAttributeType.REQUIRED) @Service

如果我需要提供更多信息,请与我们联系。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

解决了WebLogic中的类似问题,其中MDB本身注释了@TransactionManagement(TransactionManagementType.BEAN),而选择@TransactionManagement(TransactionManagementType.CONTAINER)解决了问题,方法没有Transaction属性,因此默认为REQUIRED。

事实上,声音MDB可能会将事务委托给容器,而不是试图在代码中明确地控制它们。如果您使用BEAN管理类型并且未明确打开事务上下文,则不会有可用的同步点...