2010-06-14 82 views
5

我有一个需要监视WebSphere MQ中的队列的.NET应用程序。我需要对每条消息做出反应,而不会影响当前进程。客户端应用程序不能明确地向我发送相同的消息。如何从WebSphere MQ监视现有队列?

我可以在不从队列中删除消息的情况下阅读消息吗?我可以通知每条消息吗?我可以配置MQ复制当前队列吗?

有没有另一种解决方案?

回答

2

如果您使用的是WMQ v7,那么您可以在不影响现有应用程序的情况下执行此操作,而不是更改其中一个应用程序的队列名称。

当前消息生产者和消费者使用相同的队列。在WMQ的v7中,您可以在主题上创建一个别名,以便消息生产者认为它是一个队列。然后,您可以创建两个管理的持久订阅,即一个指向现有输入队列,另一个指向专用于新应用程序的队列。

当然你已经在使用v7,因为明年v6会停止使用,对吗?您可以将QMgr升级到v7,从而启用此行为,同时仍然使用应用程序的v6客户端代码。

如果您使用的是WMQ v6,那么MirrorQ program可能适合您。

+0

谢谢。你已经完成了gwhitake的答案。 – Jorge 2010-06-18 21:22:58

2

您可以将使用队列更改为持久主题,并让您的阅读器和您的浏览器订阅它。

您也可以在您的队列管理器上创建通讯组列表。分发列表用于将相同消息的副本发送到多个队列。然后您将拥有一个处理队列和一个浏览/监视队列。

+0

如果我只浏览消息,当前的侦听器可以在浏览之前阅读(并删除消息)? 我打算使用XMS。 – Jorge 2010-06-17 15:19:04

+0

你说得对。我编辑了我的回复。 – gregwhitaker 2010-06-17 16:57:57