Class AbstractMessagingTemplate<D>
- java.lang.Object
- org.springframework.messaging.core.AbstractMessageSendingTemplate<D>
- org.springframework.messaging.core.AbstractMessageReceivingTemplate<D>
- org.springframework.messaging.core.AbstractMessagingTemplate<D>
- All Implemented Interfaces:
MessageReceivingOperations<D>,MessageRequestReplyOperations<D>,MessageSendingOperations<D>
- Direct Known Subclasses:
AbstractDestinationResolvingMessagingTemplate,JmsMessagingTemplate
public abstract class AbstractMessagingTemplate<D> extends AbstractMessageReceivingTemplate<D> implements MessageRequestReplyOperations<D>
An extension ofAbstractMessageReceivingTemplatethat adds support for request-reply style operations as defined byMessageRequestReplyOperations.- Since:
- 4.0
- Author:
- Mark Fisher, Rossen Stoyanchev, Stephane Nicoll
Field Summary
Fields inherited from class org.springframework.messaging.core.AbstractMessageSendingTemplate
CONVERSION_HINT_HEADER, logger
Constructor Summary
Constructors Constructor Description AbstractMessagingTemplate()
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <T> TconvertSendAndReceive(D destination, Object request, Class<T> targetClass)Convert the given request Object to serialized form, possibly using aMessageConverter, send it as aMessageto the given destination, receive the reply and convert its body of the specified target class.<T> TconvertSendAndReceive(D destination, Object request, Class<T> targetClass, MessagePostProcessor postProcessor)Convert the given request Object to serialized form, possibly using aMessageConverter, apply the given post processor and send the resultingMessageto the given destination, receive the reply and convert its body of the given target class.<T> TconvertSendAndReceive(D destination, Object request, Map<String,Object> headers, Class<T> targetClass)Convert the given request Object to serialized form, possibly using aMessageConverter, send it as aMessagewith the given headers, to the specified destination, receive the reply and convert its body of the specified target class.<T> TconvertSendAndReceive(D destination, Object request, Map<String,Object> headers, Class<T> targetClass, MessagePostProcessor postProcessor)Convert the given request Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers, apply the given post processor and send the resultingMessageto the specified destination, receive the reply and convert its body of the given target class.<T> TconvertSendAndReceive(Object request, Class<T> targetClass)Convert the given request Object to serialized form, possibly using aMessageConverter, send it as aMessageto a default destination, receive the reply and convert its body of the specified target class.<T> TconvertSendAndReceive(Object request, Class<T> targetClass, MessagePostProcessor postProcessor)Convert the given request Object to serialized form, possibly using aMessageConverter, apply the given post processor and send the resultingMessageto a default destination, receive the reply and convert its body of the given target class.protected abstract Message<?>doSendAndReceive(D destination, Message<?> requestMessage)Message<?>sendAndReceive(D destination, Message<?> requestMessage)Send a request message and receive the reply from the given destination.Message<?>sendAndReceive(Message<?> requestMessage)Send a request message and receive the reply from a default destination.Methods inherited from class org.springframework.messaging.core.AbstractMessageReceivingTemplate
doConvert, doReceive, receive, receive, receiveAndConvert, receiveAndConvert
Methods inherited from class org.springframework.messaging.core.AbstractMessageSendingTemplate
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, doConvert, doSend, getDefaultDestination, getMessageConverter, getRequiredDefaultDestination, processHeadersToSend, send, send, setDefaultDestination, setMessageConverter
Constructor Detail
AbstractMessagingTemplate
public AbstractMessagingTemplate()
Method Detail
sendAndReceive
public Message<?> sendAndReceive(Message<?> requestMessage)
Description copied from interface:MessageRequestReplyOperationsSend a request message and receive the reply from a default destination.- Specified by:
sendAndReceivein interfaceMessageRequestReplyOperations<D>- Parameters:
requestMessage- the message to send- Returns:
- the reply, possibly
nullif the message could not be received, for example due to a timeout
sendAndReceive
public Message<?> sendAndReceive(D destination, Message<?> requestMessage)
Description copied from interface:MessageRequestReplyOperationsSend a request message and receive the reply from the given destination.- Specified by:
sendAndReceivein interfaceMessageRequestReplyOperations<D>- Parameters:
destination- the target destinationrequestMessage- the message to send- Returns:
- the reply, possibly
nullif the message could not be received, for example due to a timeout
doSendAndReceive
protected abstract Message<?> doSendAndReceive(D destination, Message<?> requestMessage)
convertSendAndReceive
public <T> T convertSendAndReceive(Object request, Class<T> targetClass)
Description copied from interface:MessageRequestReplyOperationsConvert the given request Object to serialized form, possibly using aMessageConverter, send it as aMessageto a default destination, receive the reply and convert its body of the specified target class.- Specified by:
convertSendAndReceivein interfaceMessageRequestReplyOperations<D>- Parameters:
request- payload for the request message to sendtargetClass- the target type to convert the payload of the reply to- Returns:
- the payload of the reply message, possibly
nullif the message could not be received, for example due to a timeout
convertSendAndReceive
public <T> T convertSendAndReceive(D destination, Object request, Class<T> targetClass)
Description copied from interface:MessageRequestReplyOperationsConvert the given request Object to serialized form, possibly using aMessageConverter, send it as aMessageto the given destination, receive the reply and convert its body of the specified target class.- Specified by:
convertSendAndReceivein interfaceMessageRequestReplyOperations<D>- Parameters:
destination- the target destinationrequest- payload for the request message to sendtargetClass- the target type to convert the payload of the reply to- Returns:
- the payload of the reply message, possibly
nullif the message could not be received, for example due to a timeout
convertSendAndReceive
public <T> T convertSendAndReceive(D destination, Object request, Map<String,Object> headers, Class<T> targetClass)
Description copied from interface:MessageRequestReplyOperationsConvert the given request Object to serialized form, possibly using aMessageConverter, send it as aMessagewith the given headers, to the specified destination, receive the reply and convert its body of the specified target class.- Specified by:
convertSendAndReceivein interfaceMessageRequestReplyOperations<D>- Parameters:
destination- the target destinationrequest- payload for the request message to sendheaders- headers for the request message to sendtargetClass- the target type to convert the payload of the reply to- Returns:
- the payload of the reply message, possibly
nullif the message could not be received, for example due to a timeout
convertSendAndReceive
public <T> T convertSendAndReceive(Object request, Class<T> targetClass, MessagePostProcessor postProcessor)
Description copied from interface:MessageRequestReplyOperationsConvert the given request Object to serialized form, possibly using aMessageConverter, apply the given post processor and send the resultingMessageto a default destination, receive the reply and convert its body of the given target class.- Specified by:
convertSendAndReceivein interfaceMessageRequestReplyOperations<D>- Parameters:
request- payload for the request message to sendtargetClass- the target type to convert the payload of the reply topostProcessor- post process to apply to the request message- Returns:
- the payload of the reply message, possibly
nullif the message could not be received, for example due to a timeout
convertSendAndReceive
public <T> T convertSendAndReceive(D destination, Object request, Class<T> targetClass, MessagePostProcessor postProcessor)
Description copied from interface:MessageRequestReplyOperationsConvert the given request Object to serialized form, possibly using aMessageConverter, apply the given post processor and send the resultingMessageto the given destination, receive the reply and convert its body of the given target class.- Specified by:
convertSendAndReceivein interfaceMessageRequestReplyOperations<D>- Parameters:
destination- the target destinationrequest- payload for the request message to sendtargetClass- the target type to convert the payload of the reply topostProcessor- post process to apply to the request message- Returns:
- the payload of the reply message, possibly
nullif the message could not be received, for example due to a timeout
convertSendAndReceive
public <T> T convertSendAndReceive(D destination, Object request, Map<String,Object> headers, Class<T> targetClass, MessagePostProcessor postProcessor)
Description copied from interface:MessageRequestReplyOperationsConvert the given request Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers, apply the given post processor and send the resultingMessageto the specified destination, receive the reply and convert its body of the given target class.- Specified by:
convertSendAndReceivein interfaceMessageRequestReplyOperations<D>- Parameters:
destination- the target destinationrequest- payload for the request message to sendtargetClass- the target type to convert the payload of the reply topostProcessor- post process to apply to the request message- Returns:
- the payload of the reply message, possibly
nullif the message could not be received, for example due to a timeout