org.springframework.amqp.remoting.client
Class AmqpProxyFactoryBean

java.lang.Object
  extended by org.springframework.remoting.support.RemotingSupport
      extended by org.springframework.remoting.support.RemoteAccessor
          extended by org.springframework.amqp.remoting.client.AmqpClientInterceptor
              extended by org.springframework.amqp.remoting.client.AmqpProxyFactoryBean
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<java.lang.Object>, org.springframework.beans.factory.InitializingBean

public class AmqpProxyFactoryBean
extends AmqpClientInterceptor
implements org.springframework.beans.factory.FactoryBean<java.lang.Object>, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.InitializingBean

FactoryBean for AMQP proxies. Exposes the proxied service for use as a bean reference, using the specified service interface. Proxies will throw Spring's unchecked RemoteAccessException on remote invocation failure.

This is intended for an "RMI-style" (i.e. synchroneous) usage of the AMQP protocol. Obviously, AMQP allows for a much broader scope of execution styles, which are not the scope of the mechanism at hand.

Calling a method on the proxy will cause an AMQP message being sent according to the configured AmqpTemplate. This can be received and answered by an AmqpInvokerServiceExporter.

Since:
1.2
See Also:
RemoteAccessor.setServiceInterface(java.lang.Class), AmqpClientInterceptor, RmiServiceExporter, RemoteAccessException

Field Summary
 
Fields inherited from class org.springframework.remoting.support.RemotingSupport
logger
 
Constructor Summary
AmqpProxyFactoryBean()
           
 
Method Summary
 void afterPropertiesSet()
           
 java.lang.Object getObject()
           
 java.lang.Class<?> getObjectType()
           
 boolean isSingleton()
           
 
Methods inherited from class org.springframework.amqp.remoting.client.AmqpClientInterceptor
getAmqpTemplate, getRemoteInvocationFactory, getRoutingKey, invoke, setAmqpTemplate, setRemoteInvocationFactory, setRoutingKey
 
Methods inherited from class org.springframework.remoting.support.RemoteAccessor
getServiceInterface, setServiceInterface
 
Methods inherited from class org.springframework.remoting.support.RemotingSupport
getBeanClassLoader, overrideThreadContextClassLoader, resetThreadContextClassLoader, setBeanClassLoader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.beans.factory.BeanClassLoaderAware
setBeanClassLoader
 

Constructor Detail

AmqpProxyFactoryBean

public AmqpProxyFactoryBean()
Method Detail

afterPropertiesSet

public void afterPropertiesSet()
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean

getObject

public java.lang.Object getObject()
                           throws java.lang.Exception
Specified by:
getObject in interface org.springframework.beans.factory.FactoryBean<java.lang.Object>
Throws:
java.lang.Exception

getObjectType

public java.lang.Class<?> getObjectType()
Specified by:
getObjectType in interface org.springframework.beans.factory.FactoryBean<java.lang.Object>

isSingleton

public boolean isSingleton()
Specified by:
isSingleton in interface org.springframework.beans.factory.FactoryBean<java.lang.Object>