ActiveMQ如何仅删除一些计划元素

问题描述 投票:0回答:1

我有一个ActiveMQ消息系统,我想只从队列中删除一些预定的消息。

我可以通过发送到队列的ScheduledMessage.AMQ_SCHEDULER_ACTION_REMOVEALL消息删除所有预定的消息。

我可以通过发送AMQ_SCHEDULER_ACTION_REMOVE消息按ID删除消息。

但是有没有办法用选择器删除所有消息(可能是消息上的属性)?

我检查了ActiveMQ的Jolokia REST API,但似乎无法获得有关预定消息的信息。

jms activemq scheduler
1个回答
2
投票

目前不支持该功能。您需要查看源代码并自己实现,然后将其贡献给社区。虽然试图使用消息代理,因为数据库会转过来并咬你,所以我建议谨慎使用消息代理。

您需要实现一个新的删除指令,如AMQ_SCHEDULER_ACTION_REMOVE_SELECTED,并定义选择器在这种情况下的工作方式,SQL92字符串等,然后在Scheduler存储接口上添加一个API,并在KahaDB模块的Scheduler实现中实现它。

© www.soinside.com 2019 - 2024. All rights reserved.