gpt4 book ai didi

java - 如何在重投策略后阻止消息进入Activemq中的Dead LetterQueue(DLQ)

转载 作者:行者123 更新时间:2023-12-01 20:07:39 25 4
gpt4 key购买 nike

private BrokerService createBroker() throws IOException, Exception {
BrokerService broker = new BrokerService();KahaDBStore kaha=new KahaDBStore();
File file =new File(path);
TransportConnector connector = new TransportConnector();
connector.setUri(new URI(DEFAULT_BROKER_URL));
kaha.setDirectory(file);
broker.addConnector(connector);
broker.setPersistenceAdapter(kaha);
}

这是我的经纪人的配置。有人可以指定配置吗?在我的重新传递策略之后如何阻止消息进入 DLQ?

注意:我已经访问过此,http://activemq.apache.org/message-redelivery-and-dlq-handling.html

最佳答案

问题是 - 您想用它们做什么?

在所有重新投递尝试都用尽后就将其丢弃?

配置丢弃插件

<deadLetterStrategy>
<discarding/>
</deadLetterStrategy>

或者通过Java

PolicyEntry policy = new PolicyEntry();
policy.setDeadLetterStrategy(new DiscardingDeadLetterStrategy());
PolicyMap policyMap = new PolicyMap();
policyMap.setDefaultEntry(policy);
broker.setDestinationPolicy(policyMap);

永远不要用尽重新投递并尝试直到消息发送完毕?

这可能是有问题的,因为有毒消息 - 即具有损坏的有效负载的消息永远无法被处理,并且必须被删除以避免中断流。如果您仍需要此操作,请将客户端 maximumRedelivery 配置为 -1 ( see docs )。

关于java - 如何在重投策略后阻止消息进入Activemq中的Dead LetterQueue(DLQ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47212136/

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