【发布时间】:2010-09-21 22:39:18
【问题描述】:
我的应用程序通过 IBM Websphere MQ 与另一个系统通信。有时没有消息进入我的队列,但另一个系统说他们已经发送给我。所以我想知道如何为到达我的队列的所有消息保留历史记录。
【问题讨论】:
标签: message-queue ibm-mq
我的应用程序通过 IBM Websphere MQ 与另一个系统通信。有时没有消息进入我的队列,但另一个系统说他们已经发送给我。所以我想知道如何为到达我的队列的所有消息保留历史记录。
【问题讨论】:
标签: message-queue ibm-mq
请记住,由于 MQ 架构可能有许多中间件队列,因此它可能仍会通过网络传递。同样,消息不需要立即通过通道传输 - 发送方可以将消息分批并使用触发器发送。
确保记录所有到达的最佳方法是使用拦截器队列。
这是通道写入的队列(我们称之为 A),在此更改之前,您的应用程序将从中读取。然后,您有一个从 A 读取的传输过程,记录消息,然后将其写入第二个队列 (B)。这第二个队列是您的应用程序现在读取的内容。
【讨论】:
您可以在队列末尾放置一条日志记录语句,以便在收到消息后立即将内容转储到日志中。这样,如果其他系统说他们发送了一条消息,他们所要做的就是告诉你什么时候,你可以查看你的日志,看看是否在那个时间收到了来自他们的消息。
【讨论】:
我能想到的唯一其他方法是使用通道出口。
【讨论】: