gpt4 book ai didi

java - 使用 JMSMessageID 从 MQ 队列中删除 JMS 消息

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:27 25 4
gpt4 key购买 nike

有没有办法在 Java 应用程序(不使用工具)中使用 JMSMessageId 从 IBM MQ 队列中删除 JMS 消息?此类操作是否也是特定于供应商的?

查看了用于删除消息的接收操作的 API,但是对于删除特定消息,我们是否需要使用 MessageSelector 进行过滤并适本地删除,或者是否有更简单的方法? [检查任何可以直接使用的可用方法]

您能否提供教程/示例 [也可以是链接] 来展示此类操作的 API 用法?

最佳答案

当您使用 JMSMessageID 作为选择器中唯一的消息属性时,WMQ 优化查找与通过 MQMD.MessageID 获取的 native WMQ API 相同,即队列中的索引字段。请参阅JMS Message Selection主题了解更多详情。

QueueReceiver rcvr = sess.createReceiver(inputQ, "JMSCorrelationID = '"+msgId+"'")

您也可以使用 Java native 代码使用 native WMQ API 调用来做同样的事情。您将执行正常的 GET 操作,但在 MQMD 结构中指定消息 ID。

myMsg.messageId = someMsgID; 
MQGetMessageOptions gmo = new MQGetMessageOptions();
myQueue.get(myMsg, gmo);

关于java - 使用 JMSMessageID 从 MQ 队列中删除 JMS 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11887167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com