簡體   English   中英

spring-retry Retryble注釋與retryTemplate

[英]spring-retry Retryble annotation versus retryTemplate

我試圖了解spring-retry,我看到了2種方法,其中第一種是簡單的

    @Retryable(value = {SomeException1.class,SomeException2.class}, maxAttempts = Constants.RETRY_VAL, backoff = @Backoff(value = Constants.RETRY_BACK))
    public String getData(){...}

和第二種RetryTemplate(使用RetryCallback / RecoveryCallback執行)。

我的理解是第二個可以提供更細粒度的控制。 我們什么時候會采用第二種方法? 會在我們擁有自己的Backoff和retryPolicies實現時嗎?

另外,我找不到使用@Retryble注釋設置自定義策略的示例或示例。

我認為,第二種方法RetryTemplate是首選。 因為這種方法有助於我們在一個地方編寫配置並在許多地方使用。

您還可以創建一個或多個RetryTemplate bean。 每個RetryTemplate bean用於一個異常映射。

無論哪種方式,您都具有平等的控制權。

要通過Retryable使用自定義的RetryTemplate ,只需將重試攔截器作為一個bean(帶有自定義模板)連接起來,並在interceptor屬性中提供它。

/**
 * Retry interceptor bean name to be applied for retryable method. Is mutually
 * exclusive with other attributes.
 * @return the retry interceptor bean name
 */
String interceptor() default "";

偏向哪個方向只是一個問題。

暫無
暫無

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

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