WebSphere MQ回退阈值和回退名称不起作用

时间:2012-11-15 17:32:30

标签: jms websphere ibm-mq

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

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

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

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

...邮件将被放置在DLQ中,而不是放在原始队列中。

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

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

  1. 目标队列不存在。
  2. 目标队列已满。
  3. 邮件大小超过目标队列的MAXMSGL属性。
  4. 未授权用户将邮件放入目标队列。
  5. 目标队列的类型错误(即XMitQ或模型队列)。
  6. 当放入DLQ时,QMgr的DEADQ属性为空。
  7. BOTHRESH已设置,但BOQNAME未设置。在这种情况下,DLQ是唯一尝试过的队列。