我正在开发一个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();
此代码正在读取我不想要的所有消息。
答案 0 :(得分:0)
我认为在IBM developerWorks论坛上也提出了同样的问题。
我不确定您的业务逻辑是什么,但我建议您探索消息设置消息到期的发送方选项到您想要的值,在这种情况下为2分钟。设置消息到期时,在到期前未消耗的任何消息将不会传递给应用程序。因此,您不需要其他应用程序来清除超过120秒的消息。