1

我有多个节点(假设集群中的应用程序实例)能够将预定消息发布到 ActiveMQ(类似 cron)。我想要实现的是只安排独特的作业(以避免重复的任务)。

有没有办法仅在未设置为计划的情况下发布消息?有没有办法在推送到预定队列之前列出消息?

也许正确的解决方案是“清理队列然后发布”方法?

我在 Ruby 上使用“stomp”gem。

我在谷歌上搜索了很多。我知道我可以编写插件(拦截器)来处理独特的消息,但也许还有另一种方法可以做到。

4

1 回答 1

0

这是一个很老的问题,但以防万一这对以后的人有所帮助:ActiveMQ 支持消息重复数据删除。您可以将消息的特殊属性设置为某个自定义 ID。如果启用消息重复数据删除,则将丢弃具有相同 ID 的下一条消息。

更多信息在这里:https ://activemq.apache.org/components/artemis/documentation/1.0.0/duplicate-detection.html

于 2020-06-13T20:06:02.217 回答