2

我们在 WebSphere MQ v7.0.1.9 中设置了队列管理器BOTHRESH(5)BOQNAME(USER.ERR)

在 WebSphere Application Server v7 中,当 MDB 在容器管理的 TX 中回滚 TX 时,消息将被放置在 DLQ 中,而不是放置在原始队列中。

我检查了表明 TX 成功回滚的日志。

有人能帮我吗?

4

1 回答 1

2

...消息被放置在 DLQ 中,而不是放置在原始队列中。

设置BOQNAMEBOTHRESH导致 QMgr 尝试将消息放入原始队列以外的其他位置。一旦BOTHRESH超过,QMgr 将首先尝试将消息放入名为 的队列中,如果无法BOQNAME放入则放入 DLQ 。BOQNAME只有当这两个都失败时,QMgr 才会将消息放回原始队列中,或者如果消息是非持久的,则将其丢弃。

退回到指定的队列BOQNAME或 DLQ 失败的一些原因是:

  1. 目标队列不存在。
  2. 目标队列已满。
  3. 消息大小超过了目标队列的 MAXMSGL 属性。
  4. 用户无权将消息放入目标队列。
  5. 目标队列的类型错误(即 XMitQ 或模型队列)。
  6. 放入 DLQ 时,QMgr 的DEADQ属性为空。
  7. BOTHRESH已设置但未设置BOQNAME。在这种情况下,DLQ 是唯一尝试过的队列。
于 2012-11-15T17:45:42.633 回答