调查发布/预订消息未到达预订的原因
可执行一组检查以调查发布/预订消息未到达服务集成总线上的预订的原因。
开始之前
在开始调查之前,执行下列初步检查:
- 检查生产应用程序是否在正确地生成消息:
- 检查应用程序中是否没有任何故障或运行时错误。
- 检查目标的名称是否正确。
- 检查是否确实产生消息。
- 检查是否落实了用来生成消息的事务而且没有产生任何异常。
- 检查消费应用程序是否在正确地使用消息:
- 检查生产应用程序以了解它是否为消息给定了较短的到期时间。如果是这种情况,那么在消息到达之前或者在接收消息传递引擎可以处理这些消息之前,这些消息就可能已经消失了。
- 单击 以显示相关总线上的目标。单击主题空间,并检查是否选择了允许发送和允许接收复选框。
- 检查相关异常目标,以了解该目标中是否存在消息。如果确实存在消息,那么使用这些消息所包含的信息来了解它们到达该异常目标的原因,并编写一个应用程序(或调解)来处理这些消息。
- 检查消息的可靠性。如果可靠性设置为“最大努力”,那么在正常操作期间系统可以废弃消息。 请参阅了解为何废弃最大努力非持久消息以获取可能原因的列表。
- 检查错误日志以了解发生的异常。
关于此任务
过程
- 单击 以显示相关总线上的目标。单击相关主题空间,并单击消息点下面的发布点。对于所列示的每个发布点,单击发布点,然后单击运行时 > 预订并查找预订。如果任何发布点上都未列示您的预订,那么表示消费应用程序中存在错误。
- 确定生产应用程序和消费应用程序连接至的消息传递引擎。请参阅确定应用程序与哪个消息传递引擎相连。
- 如果生产应用程序和消费应用程序连接至同一个消息传递引擎,那么会在本地将消息生成至使用者。重新检查生产应用程序和消费应用程序,并检查系统日志以了解错误。
- 如果生产应用程序与消费应用程序连接至不同的消息传递引擎,那么会通过远程发布点来传递消息。请参阅调查预订未能通过远程消息点接收到发布/预订消息的原因来调查这种情况。