Class RetryAspect
java.lang.Object
io.github.resilience4j.retry.configure.RetryAspect
- All Implemented Interfaces:
AutoCloseable
,org.springframework.core.Ordered
This Spring AOP aspect intercepts all methods which are annotated with a
Retry
annotation. The aspect will handle methods that return a RxJava2 reactive type, Spring Reactor
reactive type, CompletionStage type, or value type.
The RetryRegistry is used to retrieve an instance of a Retry for a specific name.
Given a method like this:
@Retry(name = "myService")
public String fancyName(String name) {
return "Sir Captain " + name;
}
each time the #fancyName(String)
method is invoked, the method's execution will pass
through a a Retry
according to the given config.
The fallbackMethod parameter signature must match either:
1) The method parameter signature on the annotated method or 2) The method parameter signature with a matching exception type as the last parameter on the annotated method
-
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorDescriptionRetryAspect
(RetryConfigurationProperties retryConfigurationProperties, io.github.resilience4j.retry.RetryRegistry retryRegistry, List<RetryAspectExt> retryAspectExtList, FallbackExecutor fallbackExecutor, SpelResolver spelResolver, io.github.resilience4j.core.ContextAwareScheduledThreadPoolExecutor contextAwareScheduledThreadPoolExecutor) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
int
getOrder()
void
matchAnnotatedClassOrMethod
(io.github.resilience4j.retry.annotation.Retry retry) retryAroundAdvice
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, io.github.resilience4j.retry.annotation.Retry retryAnnotation)
-
Constructor Details
-
RetryAspect
public RetryAspect(RetryConfigurationProperties retryConfigurationProperties, io.github.resilience4j.retry.RetryRegistry retryRegistry, @Autowired(required=false) List<RetryAspectExt> retryAspectExtList, FallbackExecutor fallbackExecutor, SpelResolver spelResolver, @Nullable io.github.resilience4j.core.ContextAwareScheduledThreadPoolExecutor contextAwareScheduledThreadPoolExecutor) - Parameters:
retryConfigurationProperties
- spring retry config propertiesretryRegistry
- retry definition registryretryAspectExtList
- a list of retry aspect extensionsfallbackExecutor
- the fallback executorspelResolver
- spel expression parser
-
-
Method Details
-
matchAnnotatedClassOrMethod
public void matchAnnotatedClassOrMethod(io.github.resilience4j.retry.annotation.Retry retry) -
retryAroundAdvice
public Object retryAroundAdvice(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, @Nullable io.github.resilience4j.retry.annotation.Retry retryAnnotation) throws Throwable - Throws:
Throwable
-
getOrder
public int getOrder()- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-