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

标签 jms websphere ibm-mq

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

当 WebSphere 应用程序服务器 v7 中容器管理的 TX 中的 MDB 回滚 TX 时,消息将被放置在 DLQ 中,而不是放置在原始队列中。

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

有人可以帮助我吗?

最佳答案

...消息被放置在 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 是唯一尝试的队列。

关于jms - WebSphere MQ 回退阈值和回退名称不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13403036/

相关文章:

amazon-web-services - AWS 的最佳 JMS 实现

java - WAS 6.1 显示 Java 版本 5,但实际上是 1.4

java - 我在 Eclipse 中运行我的动态 Web 项目。我收到这个错误,为什么我不知道

java - Websphere 上 dom4j 的空指针异常

java-8 - 连接到 MQ 管理器时出现 MQ 错误 2495

java - websphere MQ 消息的格式是什么

java - 将 Spring MVC 的 Controller 与 HTTPServlet 解耦

java - ActiveMQ Web 控制台 - 如何指向主机名或 IP 地址而不是本地主机?

apache-camel - 如何使用 SSL 连接从 Camel 路由连接到 IBM MQ?

java - 使用Java获取MQ队列的ClusterName