[英]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.