Class FtSupport.BulkheadMethod

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

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

    • BulkheadMethod

      protected BulkheadMethod()
      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
    • bulkhead

      protected abstract Bulkhead bulkhead()
      Provide a bulkhead instance that should be used with this method. If the Ft.Bulkhead 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:
      bulkhead instance