Class RSocketServiceProxyFactory

java.lang.Object
org.springframework.messaging.rsocket.service.RSocketServiceProxyFactory
All Implemented Interfaces:
Aware, InitializingBean, EmbeddedValueResolverAware

public final class RSocketServiceProxyFactory extends Object implements InitializingBean, EmbeddedValueResolverAware
Factory for creating a client proxy given an RSocket service interface with @RSocketExchange methods.

This class is intended to be declared as a bean in Spring configuration.

Since:
6.0
Author:
Rossen Stoyanchev
  • Constructor Details

    • RSocketServiceProxyFactory

      @Deprecated(since="6.0.0-RC2", forRemoval=true) public RSocketServiceProxyFactory(RSocketRequester rsocketRequester)
      Deprecated, for removal: This API element is subject to removal in a future version.
      in favor of using the Builder to initialize the RSocketServiceProxyFactory instance.
      Create an instance with the underlying RSocketRequester to perform requests with.
      Parameters:
      rsocketRequester - the requester to use
  • Method Details

    • addCustomArgumentResolver

      @Deprecated(since="6.0.0-RC2", forRemoval=true) public void addCustomArgumentResolver(RSocketServiceArgumentResolver resolver)
      Deprecated, for removal: This API element is subject to removal in a future version.
      in favor of using the Builder to initialize the RSocketServiceProxyFactory instance.
      Register a custom argument resolver, invoked ahead of default resolvers.
      Parameters:
      resolver - the resolver to add
    • setCustomArgumentResolvers

      @Deprecated(since="6.0.0-RC2", forRemoval=true) public void setCustomArgumentResolvers(List<RSocketServiceArgumentResolver> resolvers)
      Deprecated, for removal: This API element is subject to removal in a future version.
      in favor of using the Builder to initialize the RSocketServiceProxyFactory instance.
      Set the custom argument resolvers to use, ahead of default resolvers.
      Parameters:
      resolvers - the resolvers to use
    • setEmbeddedValueResolver

      @Deprecated(since="6.0.0-RC2", forRemoval=true) public void setEmbeddedValueResolver(StringValueResolver resolver)
      Deprecated, for removal: This API element is subject to removal in a future version.
      in favor of using the Builder to initialize the RSocketServiceProxyFactory instance.
      Set the StringValueResolver to use for resolving placeholders and expressions in RSocketExchange.value().
      Specified by:
      setEmbeddedValueResolver in interface EmbeddedValueResolverAware
      Parameters:
      resolver - the resolver to use
    • setReactiveAdapterRegistry

      @Deprecated(since="6.0.0-RC2", forRemoval=true) public void setReactiveAdapterRegistry(ReactiveAdapterRegistry registry)
      Deprecated, for removal: This API element is subject to removal in a future version.
      in favor of using the Builder to initialize the RSocketServiceProxyFactory instance.
      Set the ReactiveAdapterRegistry to use to support different asynchronous types for RSocket service method return values.

      By default this is ReactiveAdapterRegistry.getSharedInstance().

    • setBlockTimeout

      @Deprecated(since="6.0.0-RC2", forRemoval=true) public void setBlockTimeout(Duration blockTimeout)
      Deprecated, for removal: This API element is subject to removal in a future version.
      in favor of using the Builder to initialize the RSocketServiceProxyFactory instance.
      Configure how long to wait for a response for an RSocket service method with a synchronous (blocking) method signature.

      By default this is 5 seconds.

      Parameters:
      blockTimeout - the timeout value
    • afterPropertiesSet

      @Deprecated public void afterPropertiesSet() throws Exception
      Deprecated.
      Description copied from interface: InitializingBean
      Invoked by the containing BeanFactory after it has set all bean properties and satisfied BeanFactoryAware, ApplicationContextAware etc.

      This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.

      Specified by:
      afterPropertiesSet in interface InitializingBean
      Throws:
      Exception - in the event of misconfiguration (such as failure to set an essential property) or if initialization fails for any other reason
    • createClient

      public <S> S createClient(Class<S> serviceType)
      Return a proxy that implements the given RSocket service interface to perform RSocket requests and retrieve responses through the configured RSocketRequester.
      Type Parameters:
      S - the RSocket service type
      Parameters:
      serviceType - the RSocket service to create a proxy for
      Returns:
      the created proxy
    • builder

      public static RSocketServiceProxyFactory.Builder builder(RSocketRequester requester)
      Return an RSocketServiceProxyFactory builder, initialized with the given client.
    • builder

      public static RSocketServiceProxyFactory.Builder builder()
      Return an RSocketServiceProxyFactory builder.