我有多个节点(假设集群中的应用程序实例)能够将预定消息发布到 ActiveMQ(类似 cron)。我想要实现的是只安排独特的作业(以避免重复的任务)。
有没有办法仅在未设置为计划的情况下发布消息?有没有办法在推送到预定队列之前列出消息?
也许正确的解决方案是“清理队列然后发布”方法?
我在 Ruby 上使用“stomp”gem。
我在谷歌上搜索了很多。我知道我可以编写插件(拦截器)来处理独特的消息,但也许还有另一种方法可以做到。
我有多个节点(假设集群中的应用程序实例)能够将预定消息发布到 ActiveMQ(类似 cron)。我想要实现的是只安排独特的作业(以避免重复的任务)。
有没有办法仅在未设置为计划的情况下发布消息?有没有办法在推送到预定队列之前列出消息?
也许正确的解决方案是“清理队列然后发布”方法?
我在 Ruby 上使用“stomp”gem。
我在谷歌上搜索了很多。我知道我可以编写插件(拦截器)来处理独特的消息,但也许还有另一种方法可以做到。
这是一个很老的问题,但以防万一这对以后的人有所帮助:ActiveMQ 支持消息重复数据删除。您可以将消息的特殊属性设置为某个自定义 ID。如果启用消息重复数据删除,则将丢弃具有相同 ID 的下一条消息。
更多信息在这里:https ://activemq.apache.org/components/artemis/documentation/1.0.0/duplicate-detection.html