示例 3:系统遇到带有问题消息的问题

要为问题消息做好准备,请配置系统以将该消息移至异常目标并允许成功处理其他消息。

开始之前

此任务假定您已部署包含与外部系统资源交互的消息驱动的 Bean (MDB) 的企业应用程序。

MDB 侦听的目标必须是异常目标。此异常目标可以是系统缺省值,也可以是专门为该目标配置的值。

要完成此任务,您需要以下信息:
  • 包含 MDB 的企业应用程序。
  • 相关外部系统资源。
  • 连续失败消息阈值的值设置为 3。这是最大消息传送连续失败数,在此之后 MDB 会停止。此属性适用于消息集。
  • 失败消息重试之间的延迟的值设置为 5000,即,可将失败消息传送至 MDB 之前的时间(以毫秒计)。除非连续失败消息阈值和最大并行度设置为 1,否则在此时间段内可能会传送其他消息。
  • 每个消息的最大失败传递次数的值设置为 5,即,尝试处理消息的最大失败次数,在此之后消息将从其期望目标转发至异常目标。此属性适用于个别消息。

关于此任务

在此方案中,企业应用程序是持续运行的系统,此系统使用已部署 MDB 来访问外部系统资源。

遇到问题消息(在此方案中为 msg1)时,会将它放回到队列上。

msg1 将在失败消息重试之间的延迟重试延迟期间(5 秒)隐藏,而不是立即对 MDB 可用。

MDB 处理队列上的下一条消息 (msg2)。此消息及后续消息会成功。

msg1 的失败消息重试之间的延迟到期时,将取消隐藏 msg1 并对其进行重新处理。再次将它放回到队列上。

MDB 继续正常处理后续消息,但每次处理 msg1 时会将它放回到队列上。

当 msg1 的隐藏、回滚和再次隐藏次数达到每个消息的最大失败传递次数限制(在此方案中为 5 次)后,会将它移至已配置的异常目标。

过程

  1. 浏览至包含 MDB 的已部署企业应用程序。
  2. 在 MDB 中,浏览至其 JMS 激活规范。单击资源 -> JMS -> 激活规范 -> activation_specification_name
  3. 连续失败消息阈值输入值 3
  4. 失败消息重试之间的延迟输入值 5000
  5. 保存配置。
  6. 浏览至 MDB 正在侦听的目标。根据需要单击下列其中一条路径:
    • 服务集成 -> 总线 -> bus_name -> [目标资源] 目标 -> queue_name
    • 服务集成 -> 总线 -> bus_name -> [目标资源] 目标 -> topic_space_name
  7. 每个消息的最大失败传递次数输入值 5
  8. 将更改保存至主配置。.

结果

您已配置系统以使其避免外部资源发生故障并将问题消息发送至异常目标。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjn_mdb_0001_Ex3
文件名:tjn_mdb_0001_Ex3.html