Class CompletableFutureReturnValueHandler
- java.lang.Object
- org.springframework.messaging.handler.invocation.AbstractAsyncReturnValueHandler
- org.springframework.messaging.handler.invocation.CompletableFutureReturnValueHandler
- All Implemented Interfaces:
AsyncHandlerMethodReturnValueHandler
,HandlerMethodReturnValueHandler
@UsesJava8 public class CompletableFutureReturnValueHandler extends AbstractAsyncReturnValueHandler
Support forCompletableFuture
(and as of 4.3.7 alsoCompletionStage
) as a return value type.- Since:
- 4.2
- Author:
- Sebastien Deleuze, Juergen Hoeller
Constructor Summary
Constructors Constructor Description CompletableFutureReturnValueHandler()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
supportsReturnType(MethodParameter returnType)
Whether the given method return type is supported by this handler.ListenableFuture<?>
toListenableFuture(Object returnValue, MethodParameter returnType)
Adapt the asynchronous return value to aListenableFuture
.Methods inherited from class org.springframework.messaging.handler.invocation.AbstractAsyncReturnValueHandler
handleReturnValue, isAsyncReturnValue
Constructor Detail
CompletableFutureReturnValueHandler
public CompletableFutureReturnValueHandler()
Method Detail
supportsReturnType
public boolean supportsReturnType(MethodParameter returnType)
Description copied from interface:HandlerMethodReturnValueHandler
Whether the given method return type is supported by this handler.- Parameters:
returnType
- the method return type to check- Returns:
true
if this handler supports the supplied return type;false
otherwise
toListenableFuture
public ListenableFuture<?> toListenableFuture(Object returnValue, MethodParameter returnType)
Description copied from interface:AsyncHandlerMethodReturnValueHandler
Adapt the asynchronous return value to aListenableFuture
. Implementations should consider returning an instance ofSettableListenableFuture
. Return value handling will then continue when the ListenableFuture is completed with either success or error.Note: this method will only be invoked after
HandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)
is called and it returnstrue
.- Parameters:
returnValue
- the value returned from the handler methodreturnType
- the type of the return value- Returns:
- the resulting ListenableFuture, or
null
in which case no further handling will be performed