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
.-
Nested Class Summary
Nested classes/interfaces inherited from interface io.helidon.service.registry.Interception.Interceptor
Interception.Interceptor.Chain<V>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract Bulkhead
bulkhead()
Provide a bulkhead instance that should be used with this method.<V> V
proceed
(InterceptionContext ctx, Interception.Interceptor.Chain<V> chain, Object... args) Called during interception of the target V.
-
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 toInterception.Interceptor.Chain.proceed(java.lang.Object[])
.- Specified by:
proceed
in interfaceInterception.Interceptor
- Type Parameters:
V
- the return value type (orVoid
for void method elements)- Parameters:
ctx
- the invocation contextchain
- the chain to call proceed onargs
- 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
Provide a bulkhead instance that should be used with this method. If theFt.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
-