簡體   English   中英

Apache Camel內存中死信隊列

[英]Apache Camel in-memory dead letter queue

我正在尋找駱駝路線上的簡單延誤重試交貨。 我已經配置

from("rss:" + rssUrl + "?splitEntries=false&delay=15s").bean(rssHandler) .onException(ConnectException.class).redeliveryDelay(10000).backOffMultiplier(2).maximumRedeliveries(5);

在我的路線上,但是在看到它不起作用后,我得知必須配置一個死信通道,否則基本上將忽略此配置。

所以我補充說:

errorHandler(deadLetterChannel("log:error"));

但是,對於我的Java Camel配置,我正在尋找最簡單的死信通道實現,該實現不需要我說ActiveMQ或類似的東西,我對沒有保證的基於內存的簡單重試機制感到滿意。 不幸的是,到目前為止我還沒有找到任何東西,因此如果有人可以幫助我,請訪問這里,提出一種簡單的方法來使用最少的死信通道組件配置重試。

使用seda組件而不是日志組件可以為您提供內存中的死信目的地。 例如,將“ log”替換為“ seda”。 但是,請記住,一旦重新交付用盡,該消息將存在於此隊列中,因此將存在於內存中,除非有進程將其取消排隊或清除早於為此隊列配置的指定時間段的消息。

https://camel.apache.org/dead-letter-channel.html

您還可以只配置您的配置,以將異常標記為已處理,並在達到最大重新發送次數后放棄該消息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM