Top Description Fields Constructors Methods
org.springframework.messaging.rsocket.service

pack-priv final Class RSocketServiceMethod

extends Object
Class Inheritance
Imports
java.lang.reflect.Method, java.time.Duration, java.util.Iterator, .List, .Map, .Optional, java.util.function.Function, org.reactivestreams.Publisher, reactor.core.publisher.Mono, org.springframework.core.DefaultParameterNameDiscoverer, .MethodParameter, .ParameterizedTypeReference, .ReactiveAdapter, .ReactiveAdapterRegistry, org.springframework.core.annotation.AnnotatedElementUtils, .SynthesizingMethodParameter, org.springframework.lang.Nullable, org.springframework.messaging.rsocket.RSocketRequester, .RSocketStrategies, org.springframework.util.Assert, .ClassUtils, .MimeType, .StringUtils, .StringValueResolver

Implements the invocation of an @RSocketExchange-annotated, RSocket service proxy method by delegating to an RSocketRequester to perform actual requests.
Author
Rossen Stoyanchev
Since
6.0

Field Summary

Modifier and TypeField and Description
private final List<RSocketServiceArgumentResolver>
private final Method
private final MethodParameter[]
private final Function<RSocketRequestValues, Object>
private final String

Constructor Summary

AccessConstructor and Description
pack-priv
RSocketServiceMethod(Method method, Class<?> containingClass, List<RSocketServiceArgumentResolver> argumentResolvers, RSocketRequester rsocketRequester, StringValueResolver embeddedValueResolver, ReactiveAdapterRegistry reactiveRegistry, Duration blockTimeout)

Method Summary

Modifier and TypeMethod and Description
private void
applyArguments(RSocketRequestValues.Builder requestValues, Object[] arguments)

private static String
public Method
private static MethodParameter[]
private static RSocketRequester.RetrieveSpec
private static Function<RSocketRequestValues, Object>
initResponseFunction(RSocketRequester requester, Method method, ReactiveAdapterRegistry reactiveRegistry, Duration blockTimeout)

private static String
initRoute(Method method, Class<?> containingClass, RSocketStrategies strategies, StringValueResolver embeddedValueResolver)

public Object
invoke(Object[] arguments)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

argumentResolversback to summary
private final List<RSocketServiceArgumentResolver> argumentResolvers
methodback to summary
private final Method method
parametersback to summary
private final MethodParameter[] parameters
responseFunctionback to summary
private final Function<RSocketRequestValues, Object> responseFunction
routeback to summary
private final String route
Annotations
@Nullable

Constructor Detail

RSocketServiceMethodback to summary
pack-priv RSocketServiceMethod(Method method, Class<?> containingClass, List<RSocketServiceArgumentResolver> argumentResolvers, RSocketRequester rsocketRequester, StringValueResolver embeddedValueResolver, ReactiveAdapterRegistry reactiveRegistry, Duration blockTimeout)

Method Detail

applyArgumentsback to summary
private void applyArguments(RSocketRequestValues.Builder requestValues, Object[] arguments)
formatArgumentErrorback to summary
private static String formatArgumentError(MethodParameter param, String message)
Annotations
@SuppressWarnings:SameParameterValue
getMethodback to summary
public Method getMethod()
initMethodParametersback to summary
private static MethodParameter[] initMethodParameters(Method method)
initRequestback to summary
private static RSocketRequester.RetrieveSpec initRequest(RSocketRequester requester, RSocketRequestValues requestValues)
Annotations
@SuppressWarnings:ReactiveStreamsUnusedPublisher
initResponseFunctionback to summary
private static Function<RSocketRequestValues, Object> initResponseFunction(RSocketRequester requester, Method method, ReactiveAdapterRegistry reactiveRegistry, Duration blockTimeout)
initRouteback to summary
private static String initRoute(Method method, Class<?> containingClass, RSocketStrategies strategies, StringValueResolver embeddedValueResolver)
Annotations
@Nullable
invokeback to summary
public Object invoke(Object[] arguments)
Annotations
@Nullable