Class FtSupport.CircuitBreakerMethod

java.lang.Object
io.helidon.faulttolerance.FtSupport.CircuitBreakerMethod
All Implemented Interfaces:
Interception.ElementInterceptor, Interception.Interceptor
Enclosing class:
FtSupport

public abstract static class FtSupport.CircuitBreakerMethod extends Object implements Interception.ElementInterceptor
A base interceptor service implementation to support Ft.CircuitBreaker.
  • Constructor Details

    • CircuitBreakerMethod

      protected CircuitBreakerMethod()
      Constructor with no side effects.
  • Method Details

    • proceed

      public <V> V proceed(InterceptionContext ctx, Interception.Interceptor.Chain<V> chain, Object... args) throws Exception
      Description copied from interface: Interception.Interceptor
      Called during interception of the target V. The implementation typically should finish with the call to Interception.Interceptor.Chain.proceed(java.lang.Object[]).
      Specified by:
      proceed in interface Interception.Interceptor
      Type Parameters:
      V - the return value type (or Void for void method elements)
      Parameters:
      ctx - the invocation context
      chain - the chain to call proceed on
      args - the arguments to the call
      Returns:
      the return value to the caller
      Throws:
      Exception - if there are any checked exceptions thrown by the underlying method, or any runtime exception thrown
    • circuitBreaker

      protected abstract CircuitBreaker circuitBreaker()
      Provide a circuit breaker instance that should be used with this method. If the Ft.CircuitBreaker annotation contains a name, we will attempt to obtain the named instance from registry. If such a named instance does not exist a new instance would be created from the annotation.
      Returns:
      circuit breaker instance