[英]How to stop messages from going to Dead LetterQueue(DLQ) in Activemq after re-delivery policy
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
,請將客戶端的maximumRedelivery
配置為-1( 請參閱docs )。
您可以使用:
RedeliveryPolicy redeliveryPolicy = new RedeliveryPolicy();
redeliveryPolicy.setMaximumRedeliveries(-1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.