org.springframework.amqp.remoting.client
Class AmqpClientInterceptor

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
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
Direct Known Subclasses:
AmqpProxyFactoryBean

public class AmqpClientInterceptor
extends org.springframework.remoting.support.RemoteAccessor
implements org.aopalliance.intercept.MethodInterceptor

MethodInterceptor for accessing RMI-style AMQP services.

Since:
1.2
See Also:
AmqpInvokerServiceExporter, AmqpProxyFactoryBean, RemoteAccessException

Field Summary
 
Fields inherited from class org.springframework.remoting.support.RemotingSupport
logger
 
Constructor Summary
AmqpClientInterceptor()
           
 
Method Summary
 AmqpTemplate getAmqpTemplate()
           
 org.springframework.remoting.support.RemoteInvocationFactory getRemoteInvocationFactory()
           
 java.lang.String getRoutingKey()
           
 java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation invocation)
           
 void setAmqpTemplate(AmqpTemplate amqpTemplate)
          The AMQP template to be used for sending messages and receiving results.
 void setRemoteInvocationFactory(org.springframework.remoting.support.RemoteInvocationFactory remoteInvocationFactory)
          Set the RemoteInvocationFactory to use for this accessor.
 void setRoutingKey(java.lang.String routingKey)
          The routing key to send calls to the service with.
 
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
 

Constructor Detail

AmqpClientInterceptor

public AmqpClientInterceptor()
Method Detail

invoke

public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation invocation)
                        throws java.lang.Throwable
Specified by:
invoke in interface org.aopalliance.intercept.MethodInterceptor
Throws:
java.lang.Throwable

getAmqpTemplate

public AmqpTemplate getAmqpTemplate()

setAmqpTemplate

public void setAmqpTemplate(AmqpTemplate amqpTemplate)
The AMQP template to be used for sending messages and receiving results. This class is using "Request/Reply" for sending messages as described in the Spring-AMQP documentation.


getRoutingKey

public java.lang.String getRoutingKey()

setRoutingKey

public void setRoutingKey(java.lang.String routingKey)
The routing key to send calls to the service with. Use this to route the messages to a specific queue on the broker. If not set, the AmqpTemplate's default routing key will be used.

This property is useful if you want to use the same AmqpTemplate to talk to multiple services.


getRemoteInvocationFactory

public org.springframework.remoting.support.RemoteInvocationFactory getRemoteInvocationFactory()

setRemoteInvocationFactory

public void setRemoteInvocationFactory(org.springframework.remoting.support.RemoteInvocationFactory remoteInvocationFactory)
Set the RemoteInvocationFactory to use for this accessor. Default is a DefaultRemoteInvocationFactory.

A custom invocation factory can add further context information to the invocation, for example user credentials.