调查在应用程序正在运行的情况下未通过远程消息点或预订点来使用消息的原因

可执行一组检查以调查通过远程消息点传递消息时以及消费应用程序正在运行时,未使用服务集成总线的目标上的消息的原因。

开始之前

遵循调查未使用点到点消息的原因调查发布/预订消息未到达预订的原因中最适合解决问题的那些步骤。这些主题包含在继续完成此任务之前应该执行的初步检查和调查任务。

关于此任务

应该将此任务作为调查未使用点到点消息的原因调查发布/预订消息未到达预订的原因的一部分来执行。此任务说明如何调查通过远程消息点来传递消息并且消费应用程序已启动的情况下的消息流。下列各图说明了两种可能存在的情况。在图 1 中,总线包含 3 个消息传递引擎:ME1、ME2 和 ME3。生产应用程序与 ME1 相连,消费应用程序与 ME3 相连。将消息从 ME1 通过 ME2 传递至 ME3,并在 ME3 中使用消息。此方案仅与 ME2 和 ME3 有关。ME3 存放远程消息点,该消息点表示由 ME2 存放的消息点。在图 2 中,ME2 和 ME3 用来存放由 ME1 上远程发布点表示的发布点,而生产应用程序与 ME1 相连。预订应用程序 B 与 ME3 相连,并通过 ME2 上的预订间接从 ME1 中接收消息。下列步骤将涉及到这些消息传递引擎。
图 1. 使用远程消息点来使用点到点消息此图描述如何使用远程消息点来使用点到点消息。
图 2. 使用远程消息点发布/预订消息传递此图描述如何使用远程消息点发布/预订消息传递。

过程

  1. 如果在启动此任务之前您已经完成了调查未使用点到点消息的原因调查发布/预订消息未到达预订的原因中的步骤,那么应该显示消息请求的列表。检查该列表中是否有一个请求的选择器与 ME2 上消息点上提供的消息相匹配。如果列表中不存在这样的请求,那么说明消费应用程序未使用消息;检查消费应用程序中存在的错误:
    • 检查使用者是否已启动。
    • 检查应用程序是否主动尝试使用消息:
      • 如果应用程序使用异步使用者,那么检查异步使用者是否已注册。
      • 如果应用程序已同步,那么检查使用者当前是否处于“接收并等待”状态(这可能需要修改应用程序以延长应用程序等待消息的时间)。
  2. 检查活动请求的状态:
    • 如果状态为“评估”,那么表示已检索消息并且消息已返回到消费应用程序,但是使用消息过程尚未完成。检查消费应用程序是否正在正确处理任何入局消息,例如,检查应用程序是否正在落实用来使用消息的事务。
    • 如果状态为“已拒绝”,那么表示已检索消息并且消息已返回到消费应用程序,而消费应用程序又因某种原因而拒绝了该消息。通常,这意味着消费应用程序回滚了使用操作或相关联的事务。
    • 如果状态为“已确认”,那么表示对请求返回了消息,并且应用程序已使用该消息。检查是否正确的应用程序已接收到消息,而另一个应用程序未使用该消息。
    • 如果状态为“请求”,那么表示已将消息请求发送至 ME2,继续执行下一步检查以调查尚未返回消息的原因。
  3. 记下请求标识。在 ME2 上,显示目标的消息点,并查看 ME3 中的消息请求。检查是否有请求与 ME3 上的请求标识相匹配。如果没有相匹配的请求,那么说明 ME2 不知道该请求。检查这两个消息传递引擎之间是否能够互相通信,请参阅服务集成故障诊断:检查总线中的两个消息传递引擎之间的通信
  4. 检查请求的状态:
    • 如果请求状态为“已请求”,那么表示已经接收到请求,但是没有合适的消息可用。检查请求选择器与消息点上的可用消息是否相匹配。
    • 如果请求状态为“暂挂确认”,那么表示请求已成功地标识相匹配的消息并且已尝试将它传输至 ME3。检查这两个消息传递引擎之间是否能够互相通信,请参阅服务集成故障诊断:检查总线中的两个消息传递引擎之间的通信

下一步做什么

如果仍然存在问题,那么请您与 IBM 客户服务代表联系。

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



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