活动和业务
活动是应用程序代表消息执行的独立操作。 活动由操作组成,这些操作是应用程序执行的单个工作片段。
以下操作是活动的示例:
- 消息通道代理 (MCA) 将消息从传输队列发送到通道下
- MCA 从通道接收消息并将其放入其目标队列
- 应用程序从队列中获取消息,并将应答消息放入响应中。
- IBM® MQ 发布/预订引擎处理消息。
- 从传输队列获取消息 ( Get 操作)。
- 将消息向下发送到通道 ( 发送 操作)。
在发布/预订网络中,处理消息的 IBM MQ 发布/预订引擎的活动可以包含以下多个操作:
- 将消息放入主题字符串 ( Put 操作)。
- 对于为接收消息而考虑的每个订户,零个或多个操作 ( 发布 操作, 废弃发布 操作或 排除的发布 操作)。
来自活动的信息
您可以通过在消息通过队列管理器网络路由时记录信息来标识对消息执行的活动序列。 您可以从对消息执行的活动序列中确定通过队列管理器网络的消息路由,并可以获取以下信息:
- 消息的最后已知位置
- 如果消息未到达其预期目标,那么可以从完整或部分消息路由确定消息的最后已知位置。
- 队列管理器网络的配置问题
- 在通过队列管理器网络研究消息的路由时,您可能会看到消息未到达预期位置。 发生这种情况的原因有很多,例如,如果通道处于不活动状态,那么消息可能采用备用路由。
对于发布/预订应用程序,您还可以确定要发布到主题的消息以及由于发布到订户而在队列管理器网络中流动的任何消息的路径。
在这种情况下,系统管理员可以确定队列管理器网络中是否存在任何问题,并在适当情况下更正这些问题。
消息路由
根据确定消息路由的原因,您可以使用以下常规方法:
- 使用为跟踪路由消息记录的活动信息
- 跟踪路由消息记录特定用途的活动信息。 您可以使用它们来确定队列管理器网络的配置问题,或者确定消息的最后已知位置。 如果生成跟踪路由消息以确定未到达其预期目标的消息的最后已知位置,那么可以模拟原始消息。 这使跟踪路由消息最有可能遵循原始消息所采用的路由。
IBM MQ 显示路由应用程序可以生成跟踪路由消息。
- 使用为原始消息记录的活动信息
- 您可以为活动记录启用任何消息,并代表其记录活动信息。 如果消息未到达其预期目标,那么可以使用记录的活动信息来确定消息的最后已知位置。 通过使用原始消息中的活动信息,可以确定最准确的消息路由,从而导致最后一个已知位置。 要使用此方法,必须为活动记录启用原始消息。警告: 避免在队列管理器网络中启用所有消息以进行活动记录。 为活动记录启用的消息可以代表它们生成许多活动报告。 如果队列管理器网络中的每条消息都启用了活动记录,那么队列管理器网络流量可能会增加到不可接受的级别。