【问题标题】:Getting 'MQCC_FAILED' reason '2072' 'MQRC_SYNCPOINT_NOT_AVAILABLE' while attempting to send a message尝试发送消息时获取“MQCC_FAILED”原因“2072”“MQRC_SYNCPOINT_NOT_AVAILABLE”
【发布时间】:2014-01-31 17:19:39
【问题描述】:

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

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

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

有人可以帮忙吗?

【问题讨论】:

标签: ibm-mq hornetq jboss-messaging


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    • 2021-07-26
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多