SpringCloud 重試模板

2023-11-26 16:18 更新

RetryTemplateSpring重試庫的一部分。盡管涵蓋RetryTemplate的所有功能超出了本文檔的范圍,但我們將提及以下與RetryTemplate特別相關的使用者屬性:

maxAttempts

處理消息的嘗試次數(shù)。

默認值:3。

backOffInitialInterval

重試時的退避初始間隔。

默認值1000毫秒。

backOffMaxInterval

最大退避間隔。

默認值10000毫秒。

backOffMultiplier

退避乘數(shù)。

默認為2.0。

defaultRetryable

retryableExceptions中未列出的由偵聽器引發(fā)的異常是否可以重試。

默認值:true

retryableExceptions

鍵中Throwable類名稱的映射,值中布爾值的映射。指定將要重試的那些異常(和子類)。另請參見defaultRetriable。示例:spring.cloud.stream.bindings.input.consumer.retryable-exceptions.java.lang.IllegalStateException=false。

默認值:空。

盡管上述設置足以滿足大多數(shù)自定義要求,但它們可能無法滿足某些復雜的要求,此時,您可能希望提供自己的RetryTemplate實例。為此,在應用程序配置中將其配置為bean。應用程序提供的實例將覆蓋框架提供的實例。另外,為避免沖突,必須將綁定程序要使用的RetryTemplate實例限定為@StreamRetryTemplate例如,

@StreamRetryTemplate
public RetryTemplate myRetryTemplate() {
    return new RetryTemplate();
}

從上面的示例中可以看到,由于@StreamRetryTemplate是合格的@Bean,因此無需使用@Bean對其進行注釋。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號