Each Retry might trigger TimeOut and might count towards CircuitBreaker.
If @Retry
is used with @CircuitBreaker
, each retry attempt is processed by the circuit breaker and recorded as either a success or a failure. If a CircuitBreakerOpenException
is thrown, the execution may be retried, depending on how the @Retry
is configured.
If @Timeout
is used with @Retry
, a TimeoutException
may trigger a retry, depending on the values of retryOn
and abortOn
of the @Retry
annotation. The timeout is restarted for each retry. If @Asynchronous
is also used and the retry is the result of a TimeoutException
, the retry starts after any delay period, even if the original attempt is still running.
If @Timeout
is used with @CircuitBreaker
, a TimeoutException
may be counted as a failure by the circuit breaker and contribute towards opening the circuit, depending on the value of failOn
on the @CircuitBreaker
annotation.
Please feel free to raise an issue (
https://github.com/eclipse/microprofile-fault-tolerance) on Fault Tolerance repo if you think the spec is unclear.