我们在 WebSphere MQ v7.0.1.9 中设置了队列管理器BOTHRESH(5)
。BOQNAME(USER.ERR)
在 WebSphere Application Server v7 中,当 MDB 在容器管理的 TX 中回滚 TX 时,消息将被放置在 DLQ 中,而不是放置在原始队列中。
我检查了表明 TX 成功回滚的日志。
有人能帮我吗?
...消息被放置在 DLQ 中,而不是放置在原始队列中。
设置BOQNAME
并BOTHRESH
导致 QMgr 尝试将消息放入原始队列以外的其他位置。一旦BOTHRESH
超过,QMgr 将首先尝试将消息放入名为 的队列中,如果无法BOQNAME
放入则放入 DLQ 。BOQNAME
只有当这两个都失败时,QMgr 才会将消息放回原始队列中,或者如果消息是非持久的,则将其丢弃。
退回到指定的队列BOQNAME
或 DLQ 失败的一些原因是:
DEADQ
属性为空。BOTHRESH
已设置但未设置BOQNAME
。在这种情况下,DLQ 是唯一尝试过的队列。