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

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

开始之前

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

关于此任务

将此任务作为调查未使用点到点消息的原因调查发布/预订消息未到达预订的原因的一部分来执行。此任务说明如何调查通过远程消息点来传递消息并且消费应用程序已停止的情况下的消息流。下列各图说明了两种可能存在的情况。在图 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. 如果已发出的消息请求数大于零,那么表示已经从 ME3 向 ME2 发出了对于消息点上的消息的请求。检查已完成的消息请求数的值是否大于零。如果该值不大于零,那么检查两个消息传递引擎之间是否可以进行通信,请参阅服务集成故障诊断:检查总线中的两个消息传递引擎之间的通信
  3. 如果已完成的消息请求数大于零,那么表示 ME3 发出了请求,ME2 处理了这些消息,并且已经完成处理并返回到 ME3。要确保这些请求是由所调查的应用程序生成的,应记下已完成的消息请求数以及已发出的消息请求数已接收的消息请求数的当前值。重新运行消费应用程序并检查这两个值是否都已增大。如果这些值未增大,那么表示应用程序未从 ME3 向 ME2 发出对此消息点的请求(现有数目与先前使用消息的应用程序相关)。检查消费应用程序是否存在错误:
    • 检查应用程序是否已启动。
    • 检查所使用目标的名称是否正确。
  4. 如果这些值确实增大了,那么表示已经发出了消息请求并且已经完成了,但是未返回消息或者消费应用程序尚未处理这些请求。
    • 检查应用程序的选择标准与消息点上提供的一条或多条消息是否相匹配。
    • 通过检查应用程序或运行时错误来确定应用程序是否在正确地接收消息。

下一步做什么

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

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



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