在dot net windows服务中实现IBM.XMS

时间:2015-12-29 14:16:48

标签: ibm-mq xms

我正在开发一个Windows服务,它将使用IBM.XMS侦听器从MQ读取消息。

我只需要阅读超过120秒的邮件。我已成功创建了一个侦听器,它正在读取进入队列的所有消息,但我无法在侦听器上放置过滤器。

下面是我的代码,它正在阅读所有消息

ISession sess = connection.CreateSession(false, AcknowledgeMode.AutoAcknowledge);
IDestination readqueue = sess.CreateQueue("XYZ");
IMessageConsumer consumer = sess.CreateConsumer(readqueue);

MessageListener list = new MessageListener(OnMessage);
consumer.MessageListener = list;

connection.Start();

此代码正在读取我不想要的所有消息。

1 个答案:

答案 0 :(得分:0)

我认为在IBM developerWorks论坛上也提出了同样的问题。

我不确定您的业务逻辑是什么,但我建议您探索消息设置消息到期的发送方选项到您想要的值,在这种情况下为2分钟。设置消息到期时,在到期前未消耗的任何消息将不会传递给应用程序。因此,您不需要其他应用程序来清除超过120秒的消息。