Class ReactiveReturnValueHandler
java.lang.Object
org.springframework.messaging.handler.invocation.AbstractAsyncReturnValueHandler
org.springframework.messaging.handler.invocation.ReactiveReturnValueHandler
- All Implemented Interfaces:
AsyncHandlerMethodReturnValueHandler
,HandlerMethodReturnValueHandler
Support for single-value reactive types (like
Mono
or Single
)
as a return value type.- Since:
- 5.1
- Author:
- Sebastien Deleuze
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
isAsyncReturnValue
(Object returnValue, MethodParameter returnType) Whether the return value represents an asynchronous, Future-like type with success and error callbacks.boolean
supportsReturnType
(MethodParameter returnType) Whether the given method return type is supported by this handler.toCompletableFuture
(Object returnValue, MethodParameter returnType) Adapt the asynchronous return value to aCompletableFuture
.Methods inherited from class org.springframework.messaging.handler.invocation.AbstractAsyncReturnValueHandler
handleReturnValue
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.messaging.handler.invocation.AsyncHandlerMethodReturnValueHandler
toListenableFuture
-
Constructor Details
-
ReactiveReturnValueHandler
public ReactiveReturnValueHandler() -
ReactiveReturnValueHandler
-
-
Method Details
-
supportsReturnType
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
-
isAsyncReturnValue
Description copied from interface:AsyncHandlerMethodReturnValueHandler
Whether the return value represents an asynchronous, Future-like type with success and error callbacks. If this method returnstrue
, thenAsyncHandlerMethodReturnValueHandler.toCompletableFuture(java.lang.Object, org.springframework.core.MethodParameter)
is invoked next. If it returnsfalse
, thenHandlerMethodReturnValueHandler.handleReturnValue(java.lang.Object, org.springframework.core.MethodParameter, org.springframework.messaging.Message<?>)
is called.Note: this method will only be invoked after
HandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)
is called and it returnstrue
.- Specified by:
isAsyncReturnValue
in interfaceAsyncHandlerMethodReturnValueHandler
- Overrides:
isAsyncReturnValue
in classAbstractAsyncReturnValueHandler
- Parameters:
returnValue
- the value returned from the handler methodreturnType
- the type of the return value- Returns:
true
if the return value type represents an async value
-
toCompletableFuture
@Nullable public CompletableFuture<?> toCompletableFuture(Object returnValue, MethodParameter returnType) Description copied from interface:AsyncHandlerMethodReturnValueHandler
Adapt the asynchronous return value to aCompletableFuture
.Return value handling will then continue when the CompletableFuture 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 CompletableFuture, or
null
in which case no further handling will be performed
-