java.lang.Object
io.helidon.faulttolerance.FtSupport.AsyncMethod
- All Implemented Interfaces:
Interception.ElementInterceptor
,Interception.Interceptor
- Enclosing class:
FtSupport
public abstract static class FtSupport.AsyncMethod
extends Object
implements Interception.ElementInterceptor
A base interceptor service implementation to support
Async
.-
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 Async
async()
Provide an async 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
-
AsyncMethod
protected AsyncMethod()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
-
async
Provide an async instance that should be used with this method. If theFt.Async
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:
- async instance
-