ActiveMQ没有';似乎不允许在队列中逐出消息

ActiveMQ没有';似乎不允许在队列中逐出消息,activemq,Activemq,目前,我正在使用一个设置,其中ActiveMQ被用来以持久的方式控制许多消费者和许多生产者之间的消息处理 我正试图找出一种方法,我可以分叉队列,这样我就可以有一个用于生产的队列和一个用于分析/诊断目的的副本。我发现创建复合队列似乎就是为了满足这种需要。生产数据可以继续正常流动,而我关心的消息会被复制以供我使用 这种方法的问题在于可靠性。我不希望分析/诊断过程阻塞生产数据流,也不希望ActiveMQ在消息备份或分析/诊断服务脱机时耗尽内存。对我来说,更好的选择是,如果分析/诊断队列已满,则将消息从

目前,我正在使用一个设置,其中ActiveMQ被用来以持久的方式控制许多消费者和许多生产者之间的消息处理

我正试图找出一种方法,我可以分叉队列,这样我就可以有一个用于生产的队列和一个用于分析/诊断目的的副本。我发现创建复合队列似乎就是为了满足这种需要。生产数据可以继续正常流动,而我关心的消息会被复制以供我使用

这种方法的问题在于可靠性。我不希望分析/诊断过程阻塞生产数据流,也不希望ActiveMQ在消息备份或分析/诊断服务脱机时耗尽内存。对我来说,更好的选择是,如果分析/诊断队列已满,则将消息从该队列中删除

constantPendingMessageLimitStrategy对我来说非常有效,但从我从一些邮件列表(尝试使其工作失败后)中了解到,它只支持主题。消息TTL也不适用于我(据我所知),因为该设置附加到生产者,我只希望过期/删除/逐出只发生在非生产队列上


我要做的事情有哪些选项?

您可以利用较新的截获发送到分析/诊断队列的消息,并添加TTL值,或者,您甚至可以拦截并仅在某些外部源告诉您该队列已启用时才将其分派到该队列。有一些方法可以完成您正在执行的操作,但由于它有点超出了正常代理操作的范围,因此您需要做一些工作以获得所需的内容