org.springframework.jms.remoting

## Class JmsInvokerProxyFactoryBean

- java.lang.Object
- - org.springframework.jms.remoting.JmsInvokerClientInterceptor
  - - org.springframework.jms.remoting.JmsInvokerProxyFactoryBean

All Implemented Interfaces:
  org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.FactoryBean<Object>, org.springframework.beans.factory.InitializingBean

    public class JmsInvokerProxyFactoryBean
    extends JmsInvokerClientInterceptor
    implements org.springframework.beans.factory.FactoryBean<Object>, org.springframework.beans.factory.BeanClassLoaderAware

FactoryBean for JMS invoker proxies. Exposes the proxied service for use as a bean reference, using the specified service interface.

Serializes remote invocation objects and deserializes remote invocation result objects. Uses Java serialization just like RMI, but with the JMS provider as communication infrastructure.

To be configured with a `QueueConnectionFactory` and a target queue (either as `Queue` reference or as queue name).

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  `JmsInvokerClientInterceptor.setConnectionFactory(javax.jms.ConnectionFactory)`, `JmsInvokerClientInterceptor.setQueueName(java.lang.String)`, `setServiceInterface(java.lang.Class<?>)`, `JmsInvokerClientInterceptor`, `JmsInvokerServiceExporter`

### Field Summary

### Fields inherited from interface org.springframework.beans.factory.FactoryBean

`OBJECT_TYPE_ATTRIBUTE`

### Constructor Summary

Constructors
Constructor and Description
`JmsInvokerProxyFactoryBean()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `afterPropertiesSet()`
`Object` `getObject()`
`Class<?>` `getObjectType()`
`boolean` `isSingleton()`
`void` `setBeanClassLoader(ClassLoader classLoader)`
`void` `setServiceInterface(Class<?> serviceInterface)` Set the interface that the proxy must implement.

### Methods inherited from class org.springframework.jms.remoting.JmsInvokerClientInterceptor

`convertJmsInvokerAccessException, createConnection, createRemoteInvocation, createRequestMessage, createSession, doExecuteRequest, executeRequest, extractInvocationResult, getConnectionFactory, getReceiveTimeout, invoke, onInvalidResponse, onReceiveTimeout, recreateRemoteInvocationResult, resolveQueue, resolveQueueName, setConnectionFactory, setDestinationResolver, setMessageConverter, setQueue, setQueueName, setReceiveTimeout, setRemoteInvocationFactory`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### JmsInvokerProxyFactoryBean

    public JmsInvokerProxyFactoryBean()

### Method Detail

#### setServiceInterface

    public void setServiceInterface(Class<?> serviceInterface)

Set the interface that the proxy must implement.

Parameters:
  `serviceInterface` - the interface that the proxy must implement
Throws:
  `IllegalArgumentException` - if the supplied `serviceInterface` is not an interface type

#### setBeanClassLoader

    public void setBeanClassLoader(ClassLoader classLoader)

Specified by:
  `setBeanClassLoader` in interface `org.springframework.beans.factory.BeanClassLoaderAware`

#### afterPropertiesSet

    public void afterPropertiesSet()

Specified by:
  `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
Overrides:
  `afterPropertiesSet` in class `JmsInvokerClientInterceptor`

#### getObject

    @Nullable
    public Object getObject()

Specified by:
  `getObject` in interface `org.springframework.beans.factory.FactoryBean<Object>`

#### getObjectType

    public Class<?> getObjectType()

Specified by:
  `getObjectType` in interface `org.springframework.beans.factory.FactoryBean<Object>`

#### isSingleton

    public boolean isSingleton()

Specified by:
  `isSingleton` in interface `org.springframework.beans.factory.FactoryBean<Object>`