gpt4 book ai didi

jms - ActiveMQ 重新交付策略 - 它是如何工作的?

转载 作者:行者123 更新时间:2023-12-04 19:38:26 24 4
gpt4 key购买 nike

谁能解释一下 ActiveMQ 重新交付策略实际上是如何工作的?
它是在客户端还是服务器端工作?

假设我有一个重新传递策略,最多 10 分钟重新传递一条消息,每次尝试之间的间隔为 30 分钟,那么失败的消息究竟在哪里?

假设现在消息失败并且必须在 30 分钟后重新传递,那么消息在哪里?

我看到同一个消费者在 30 分钟后收到了消息。

我想知道 ActiveMQ 在哪里存储这条消息 30 分钟。

如果我关闭了消费者或者我的消费者崩溃了,30分钟后我还能恢复消息吗?

我浏览了这些 ActiveMQ 页面以了解重新交付政策,但没有找到任何信息:

http://activemq.apache.org/redelivery-policy.html
http://activemq.apache.org/message-redelivery-and-dlq-handling.html

最佳答案

有两种类型的重新交付。典型的是绑定(bind)到 ConnectionFactory 客户端的重新传递策略。代理不知道此设置中的重新传递,因为它是由客户端处理的,并且消息实际上在客户端上等待重新传递。但是,由于客户端没有提交(或确认)消息,因此代理不会删除它。因此,如果消息在 30 分钟后重新发送,但客户端应用程序在 10 分钟后停止,则消息将在代理上重新可见。

还可以通过插件进行代理方重新交付。在这种情况下,经纪人会处理重新交付。有利有弊,特别是您无法从客户端代码控制它 - 但代理管理员可以控制它。这意味着代理重新交付可以重新交付给不同的消费者,而客户端重新交付则不能。

在本页底部阅读有关经纪人重新交付的更多信息:
http://activemq.apache.org/message-redelivery-and-dlq-handling.html

关于jms - ActiveMQ 重新交付策略 - 它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29689587/

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