2014-01-13 66 views
1

在JBoss 5.1 GA中有一個監聽MQ 7.0隊列的MDB(mdbA)。接收之後,消息被保存到MySQL數據庫,我想將消息發送到另一個隊列(queueB),然後繼續處理mdbA中的消息,該消息會執行更多的插入並向HornetQ發送消息。對於第一條消息,所有工作都正常,我在數據庫中看到消息以及queueB和hornetQ。對於所有後續消息,「發送到隊列B」導致「MQRC_SYNCPOINT_NOT_AVAILABLE」錯誤2072.在嘗試發送消息時獲取'MQCC_FAILED'原因'2072''MQRC_SYNCPOINT_NOT_AVAILABLE'

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

如果我需要提供更多信息,請讓我知道。

請問有人能協助嗎?

+0

也許這很有用:http://stevemelan.wordpress.com/2014/05/22/mqrc- 2072與 - 的BizTalk-2013-和他的-2013 / – uselpa

回答

0

解決了MDB本身被註釋爲@TransactionManagement(TransactionManagementType.BEAN)並選擇代替@TransactionManagement(TransactionManagementType.CONTAINER)的WebLogic中的類似問題,解決了此問題,方法上沒有Transaction屬性,因此缺省爲REQUIRED。

事實上,健全的MDB可能會將事務委託給容器,而不是試圖在代碼中明確地控制它們。如果您使用BEAN管理類型並且未明確打開事務上下文,則不會有同步點...

相關問題