public class MessagingMessageListenerAdapter extends AbstractAdaptableMessageListener
MessageListener
adapter that invokes a configurable HandlerAdapter.
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.
AbstractAdaptableMessageListener.ReplyExpressionRootlogger| Constructor and Description |
|---|
MessagingMessageListenerAdapter() |
MessagingMessageListenerAdapter(Object bean,
Method method) |
MessagingMessageListenerAdapter(Object bean,
Method method,
boolean returnExceptions,
RabbitListenerErrorHandler errorHandler) |
| Modifier and Type | Method and Description |
|---|---|
protected Message |
buildMessage(com.rabbitmq.client.Channel channel,
Object result,
Type genericType)
Build a Rabbit message to be sent as response based on the given result object.
|
protected MessagingMessageConverter |
getMessagingMessageConverter() |
void |
onMessage(Message amqpMessage,
com.rabbitmq.client.Channel channel)
Callback for processing a received Rabbit message.
|
void |
setHandlerAdapter(HandlerAdapter handlerAdapter)
Set the
HandlerAdapter to use to invoke the method
processing an incoming Message. |
void |
setHeaderMapper(AmqpHeaderMapper headerMapper)
Set the
AmqpHeaderMapper implementation to use to map the standard
AMQP headers. |
void |
setMessageConverter(MessageConverter messageConverter)
Set the converter that will convert incoming Rabbit messages to listener method arguments, and objects returned
from listener methods back to Rabbit messages.
|
protected Message<?> |
toMessagingMessage(Message amqpMessage) |
containerAckMode, doHandleResult, doPublish, extractMessage, getEncoding, getMessageConverter, getReceivedExchange, getReplyToAddress, handleListenerException, handleResult, handleResult, postProcessChannel, postProcessResponse, sendResponse, setBeanResolver, setBeforeSendReplyPostProcessors, setEncoding, setMandatoryPublish, setRecoveryCallback, setReplyPostProcessor, setResponseAddress, setResponseExchange, setResponseRoutingKey, setRetryTemplateclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitonMessagepublic MessagingMessageListenerAdapter()
public MessagingMessageListenerAdapter(Object bean, Method method, boolean returnExceptions, RabbitListenerErrorHandler errorHandler)
public void setHandlerAdapter(HandlerAdapter handlerAdapter)
HandlerAdapter to use to invoke the method
processing an incoming Message.handlerAdapter - HandlerAdapter instance.public void setHeaderMapper(AmqpHeaderMapper headerMapper)
AmqpHeaderMapper implementation to use to map the standard
AMQP headers. By default, a SimpleAmqpHeaderMapper is used.headerMapper - the AmqpHeaderMapper instance.SimpleAmqpHeaderMapperprotected final MessagingMessageConverter getMessagingMessageConverter()
MessagingMessageConverter for this listener,
being able to convert Message.public void setMessageConverter(MessageConverter messageConverter)
AbstractAdaptableMessageListener
The default converter is a SimpleMessageConverter, which is able to handle "text" content-types.
setMessageConverter in class AbstractAdaptableMessageListenermessageConverter - The message converter.public void onMessage(Message amqpMessage, com.rabbitmq.client.Channel channel) throws 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)Exception - Any.protected Message buildMessage(com.rabbitmq.client.Channel channel, Object result, Type genericType)
buildMessage in class AbstractAdaptableMessageListenerchannel - the Rabbit Channel to operate onresult - the content of the message, as returned from the listener methodgenericType - the generic type of the result.Message (never null)setMessageConverter(org.springframework.amqp.support.converter.MessageConverter)