Class RestClientProxyFactoryBean<T>

  • Type Parameters:
    T - The type representing the client interface.
    All Implemented Interfaces:
    org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean

    public class RestClientProxyFactoryBean<T>
    extends Object
    implements org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean
    FactoryBean to generate a client proxy from a REST annotated interface.

    Example: The following spring xml configuration snippet makes a bean with the id echoClient. The bean is a generated proxy of the a.b.c.Echo interface to access the remote service on http://server.far.far.away:8080/echo base URI.

     <bean id="echoClient" class="org.jboss.resteasy.client.spring.RestClientProxyFactoryBean"
     p:serviceInterface="a.b.c.Echo" p:baseUri="http://server.far.far.away:8080/echo" />
     
    Author:
    Attila Kiraly
    • Constructor Detail

      • RestClientProxyFactoryBean

        public RestClientProxyFactoryBean()
    • Method Detail

      • getObject

        public T getObject()
                    throws Exception
        Specified by:
        getObject in interface org.springframework.beans.factory.FactoryBean<T>
        Throws:
        Exception
      • getObjectType

        public Class<T> getObjectType()
        Specified by:
        getObjectType in interface org.springframework.beans.factory.FactoryBean<T>
      • isSingleton

        public boolean isSingleton()
        Specified by:
        isSingleton in interface org.springframework.beans.factory.FactoryBean<T>
      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws Exception
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
        Throws:
        Exception
      • getServiceInterface

        public Class<T> getServiceInterface()
      • setServiceInterface

        public void setServiceInterface​(Class<T> serviceInterface)
        This is a mandatory property that needs to be set.
        Parameters:
        serviceInterface - the interface for which a proxy is needed to be generated.
      • getBaseUri

        public URI getBaseUri()
      • setBaseUri

        public void setBaseUri​(URI baseUri)
        This is a mandatory property that needs to be set.
        Parameters:
        baseUri - the remote service base address.
      • getHttpClient

        public org.apache.http.client.HttpClient getHttpClient()
      • setHttpClient

        public void setHttpClient​(org.apache.http.client.HttpClient httpClient)
        Optional property. If this property is set and clientEngine is null, this will be used by proxy generation. This could be useful for example when you want to use a ThreadSafeClientConnManager instead of a SingleClientConnManager which is the default in HttpClient.
        Parameters:
        httpClient - the instance to be used by proxy generation
      • setClientExecutor

        public void setClientExecutor​(ClientHttpEngine clientEngine)
        Optional property for advanced usage. If this property is set it will be used by proxy generation. If this property is set the httpClient property is ignored.
        Parameters:
        clientEngine - the instance to be used by proxy generation
      • setResteasyProviderFactory

        public void setResteasyProviderFactory​(ResteasyProviderFactory resteasyProviderFactory)
        Optional property for advanced usage. For the most cases this property is not needed to be set.
        Parameters:
        resteasyProviderFactory - the instance to be used by proxy generation.