Ibm mq 获得';MQCC#U失败';原因';2072'';MQRC_SYNCPOINT_不可用';试图发送消息时

Ibm mq 获得';MQCC#U失败';原因';2072'';MQRC_SYNCPOINT_不可用';试图发送消息时,ibm-mq,hornetq,jboss-messaging,Ibm Mq,Hornetq,Jboss Messaging,我在JBoss 5.1 GA中有一个MDB(mdbA),它侦听MQ 7.0队列。接收后,消息被持久化到MySQL数据库,我想将消息发送到另一个队列(queueB),然后在mdbA中继续处理该消息,mdbA会进行更多的插入,并将消息发送到HornetQ。对于第一条消息,一切都很好,我在数据库以及queueB和hornetQ中看到了消息。对于所有后续消息,“发送到队列B”将导致“MQRC\u同步点\u不可用”错误2072 我的mdbA有以下注释。 @TransactionAttribute(Tran

我在JBoss 5.1 GA中有一个MDB(mdbA),它侦听MQ 7.0队列。接收后,消息被持久化到MySQL数据库,我想将消息发送到另一个队列(queueB),然后在mdbA中继续处理该消息,mdbA会进行更多的插入,并将消息发送到HornetQ。对于第一条消息,一切都很好,我在数据库以及queueB和hornetQ中看到了消息。对于所有后续消息,“发送到队列B”将导致“MQRC\u同步点\u不可用”错误2072

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

如果我需要提供更多信息,请告诉我


有人能帮忙吗?

在WebLogic中解决了一个类似的问题,MDB本身被注释为@TransactionManagement(TransactionManagementType.BEAN),而选择@TransactionManagement(TransactionManagementType.CONTAINER)解决了这个问题,方法上没有事务属性,因此需要默认值

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

这可能有用: