Class JAXRSClientFactoryBean

All Implemented Interfaces:
InterceptorProvider
Direct Known Subclasses:
JAXRSClientFactoryBeanDefinitionParser.JAXRSSpringClientFactoryBean, MicroProfileClientFactoryBean

public class JAXRSClientFactoryBean extends AbstractJAXRSFactoryBean
  • Field Details

    • LOG

      protected static final Logger LOG
    • username

      protected String username
    • password

      protected String password
    • inheritHeaders

      protected boolean inheritHeaders
    • headers

      protected jakarta.ws.rs.core.MultivaluedMap<String,String> headers
    • initialState

      protected ClientState initialState
    • threadSafe

      protected boolean threadSafe
    • timeToKeepState

      protected long timeToKeepState
    • serviceClass

      protected Class<?> serviceClass
    • proxyLoader

      protected ClassLoader proxyLoader
  • Constructor Details

    • JAXRSClientFactoryBean

      public JAXRSClientFactoryBean()
    • JAXRSClientFactoryBean

      public JAXRSClientFactoryBean(JAXRSServiceFactoryBean serviceFactory)
  • Method Details

    • setClassLoader

      public void setClassLoader(ClassLoader loader)
      Sets the custom class loader to be used for creating proxies. By default the class loader of the given serviceClass will be used.
      Parameters:
      loader -
    • setThreadSafe

      public void setThreadSafe(boolean threadSafe)
      Indicates if a single proxy or WebClient instance can be reused by multiple threads.
      Parameters:
      threadSafe - if true then multiple threads can invoke on the same proxy or WebClient instance.
    • setSecondsToKeepState

      public void setSecondsToKeepState(long time)
      Sets the time a thread-local client state will be kept. This property is ignored for thread-unsafe clients
      Parameters:
      time - secondsToKeepState
    • getUsername

      public String getUsername()
      Gets the user name
      Returns:
      the name
    • setUsername

      public void setUsername(String username)
      Sets the username. Setting the username and password is a simple way to create a Basic Authentication token.
      Parameters:
      username - the user name
    • getPassword

      public String getPassword()
      Gets the password
      Returns:
      the password
    • setPassword

      public void setPassword(String password)
      Sets the password. Setting the username and password is a simple way to create a Basic Authentication token.
      Parameters:
      password - the password
    • setInheritHeaders

      public void setInheritHeaders(boolean ih)
      Indicates if the headers set by a current proxy will be inherited when a subresource proxy is created vice versa.
      Parameters:
      ih - if set to true then the current headers will be inherited
    • setResourceClass

      public void setResourceClass(Class<?> cls)
      Sets the resource class
      Parameters:
      cls - the resource class
    • setServiceClass

      public void setServiceClass(Class<?> cls)
      Sets the service class, may be called from a Spring handler
      Parameters:
      cls - the service class
    • getServiceClass

      public Class<?> getServiceClass()
      Returns the service class.
    • setHeaders

      public void setHeaders(Map<String,String> map)
      Sets the headers new proxy or WebClient instances will be initialized with.
      Parameters:
      map - the headers
    • getHeaders

      public Map<String,List<String>> getHeaders()
      Gets the initial headers
      Returns:
      the headers
    • createWebClient

      public WebClient createWebClient()
      Creates a WebClient instance
      Returns:
      WebClient instance
    • notifyLifecycleManager

      protected void notifyLifecycleManager(Object client)
    • getActualState

      protected ClientState getActualState()
    • create

      public <T> T create(Class<T> cls, Object... varValues)
      Creates a proxy.
      Parameters:
      cls - the proxy class
      varValues - optional list of values which will be used to substitute template variables specified in the class-level JAX-RS Path annotations
      Returns:
      the proxy
    • create

      public Client create()
      Create a Client instance. Proxies and WebClients are Clients.
      Returns:
      the client
    • createWithValues

      public Client createWithValues(Object... varValues)
      Create a Client instance. Proxies and WebClients are Clients.
      Parameters:
      varValues - optional list of values which will be used to substitute template variables specified in the class-level JAX-RS Path annotations
      Returns:
      the client
    • createClientProxy

      protected ClientProxyImpl createClientProxy(ClassResourceInfo cri, boolean isRoot, ClientState actualState, Object[] varValues)
    • getConduitSelector

      protected ConduitSelector getConduitSelector(Endpoint ep)
    • initClient

      protected void initClient(AbstractClient client, Endpoint ep, boolean addHeaders)
    • getConfigurableFor

      protected <C extends jakarta.ws.rs.core.Configurable<C>> jakarta.ws.rs.core.Configurable<?> getConfigurableFor(C context)
    • applyFeatures

      protected void applyFeatures(AbstractClient client)
    • setInitialState

      public void setInitialState(ClientState initialState)
      Sets the initial client state, can be a thread-safe state.
      Parameters:
      initialState - the state