public class MessagingMessageListenerAdapter extends AbstractAdaptableMessageListener
MessageListener
adapter that invokes a configurable InvocableHandlerMethod.
Wraps the incoming AMQP Message to Spring's Message abstraction, copying the
standard headers using a configurable
AmqpHeaderMapper.
The original Message and
the Channel are provided as additional arguments so that these can
be injected as method arguments if necessary.
logger| Constructor and Description |
|---|
MessagingMessageListenerAdapter() |
| Modifier and Type | Method and Description |
|---|---|
protected org.springframework.amqp.core.Message |
buildMessage(com.rabbitmq.client.Channel channel,
java.lang.Object result)
Build a Rabbit message to be sent as response based on the given result object.
|
protected org.springframework.amqp.support.converter.MessagingMessageConverter |
getMessagingMessageConverter() |
void |
onMessage(org.springframework.amqp.core.Message amqpMessage,
com.rabbitmq.client.Channel channel)
Callback for processing a received Rabbit message.
|
void |
setHandlerMethod(org.springframework.messaging.handler.invocation.InvocableHandlerMethod handlerMethod)
Set the
InvocableHandlerMethod to use to invoke the method
processing an incoming Message. |
void |
setHeaderMapper(org.springframework.amqp.support.AmqpHeaderMapper headerMapper)
Set the
AmqpHeaderMapper implementation to use to map the standard
AMQP headers. |
protected org.springframework.messaging.Message<?> |
toMessagingMessage(org.springframework.amqp.core.Message amqpMessage) |
extractMessage, getMessageConverter, getReceivedExchange, getReplyToAddress, handleListenerException, handleResult, onMessage, postProcessChannel, postProcessResponse, sendResponse, setEncoding, setMandatoryPublish, setMessageConverter, setResponseExchange, setResponseRoutingKeypublic void setHandlerMethod(org.springframework.messaging.handler.invocation.InvocableHandlerMethod handlerMethod)
InvocableHandlerMethod to use to invoke the method
processing an incoming Message.handlerMethod - InvocableHandlerMethod instance.public void setHeaderMapper(org.springframework.amqp.support.AmqpHeaderMapper headerMapper)
AmqpHeaderMapper implementation to use to map the standard
AMQP headers. By default, a SimpleAmqpHeaderMapper is used.headerMapper - the AmqpHeaderMapper instance.SimpleAmqpHeaderMapperprotected final org.springframework.amqp.support.converter.MessagingMessageConverter getMessagingMessageConverter()
MessagingMessageConverter for this listener,
being able to convert Message.public void onMessage(org.springframework.amqp.core.Message amqpMessage,
com.rabbitmq.client.Channel channel)
throws java.lang.Exception
ChannelAwareMessageListenerImplementors are supposed to process the given Message, typically sending reply messages through the given Session.
amqpMessage - the received AMQP message (never null)channel - the underlying Rabbit Channel (never null)java.lang.Exception - Any.protected org.springframework.messaging.Message<?> toMessagingMessage(org.springframework.amqp.core.Message amqpMessage)
protected org.springframework.amqp.core.Message buildMessage(com.rabbitmq.client.Channel channel,
java.lang.Object result)
throws java.lang.Exception
buildMessage in class AbstractAdaptableMessageListenerchannel - the Rabbit Channel to operate onresult - the content of the message, as returned from the listener methodMessage (never null)java.lang.Exception - if thrown by Rabbit API methodsAbstractAdaptableMessageListener.setMessageConverter(org.springframework.amqp.support.converter.MessageConverter)