【问题标题】:rollback() in WebSphere Application Server V7 with WebSphere MQ v7带有 WebSphere MQ v7 的 WebSphere Application Server V7 中的 rollback()
【发布时间】:2012-11-03 07:09:52
【问题描述】:

我在事务回滚中遇到问题(无法将消息推回原始队列)。

部署在 WAS v7 中的 MDB(Container managed TX)正在侦听 WebSphere MQ v7 中配置的远程队列。

当我标记 MessageDrivenContext.setRollbackOnly() 时,我可以在 ffdc WAS 日志中看到以下详细信息

com.ibm.websphere.csi.CSITransactionRolledbackException:事务标记为rollbackonly 在 com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:222) 在 com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:561) 在 com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:4512) 在 com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:107) 在 com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:132) 在 com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:496) 在 com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)

看起来事务正在成功回滚,但我无法在队列中看到相同的消息。(队列为空/消息已删除)。

有人能告诉我如何将消息保留在队列中并再次处理吗???

【问题讨论】:

    标签: jms ibm-mq websphere-7 ibm-was


    【解决方案1】:

    我发现回滚的消息放在SYSTEM.DEAD.LETTER.QUEUE中。

    我检查了 websphere mq 队列管理器的以下属性

    1) 两者(5)
    2) BOQNAME(错误队列名称)。

    甚至在回退计数达到最大值 BOTHRESH 之前,消息就被放置在默认队列中,而不是配置的错误队列中。

    有人能说出配置中有什么问题吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2015-05-05
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多