Class AbstractMessageSendingTemplate<D>
java.lang.Object
org.springframework.messaging.core.AbstractMessageSendingTemplate<D>
- Type Parameters:
 D- the destination type
- All Implemented Interfaces:
 MessageSendingOperations<D>
- Direct Known Subclasses:
 AbstractMessageReceivingTemplate,SimpMessagingTemplate
public abstract class AbstractMessageSendingTemplate<D>
extends Object
implements MessageSendingOperations<D>
Abstract base class for implementations of 
MessageSendingOperations.- Since:
 - 4.0
 - Author:
 - Mark Fisher, Rossen Stoyanchev, Stephane Nicoll
 
- 
Field Summary
Fields - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidconvertAndSend(D destination, Object payload) Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message and send it to the given destination.voidConvert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers and send it to the given destination.voidconvertAndSend(D destination, Object payload, Map<String, Object> headers, MessagePostProcessor postProcessor) Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers, apply the given post-processor, and send the resulting message to the given destination.voidconvertAndSend(D destination, Object payload, MessagePostProcessor postProcessor) Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message, apply the given post-processor, and send the resulting message to the given destination.voidconvertAndSend(Object payload) Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message and send it to a default destination.voidconvertAndSend(Object payload, MessagePostProcessor postProcessor) Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message, apply the given post-processor, and send the resulting message to a default destination.protected Message<?>Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers and apply the given post-processor.protected abstract voidActually send the given message to the given destination.Return the configured default destination.Return the configuredMessageConverter.protected final DprocessHeadersToSend(Map<String, Object> headers) Provides access to the map of input headers before a send operation.voidSend a message to the given destination.voidSend a message to a default destination.voidsetDefaultDestination(D defaultDestination) Configure the default destination to use in send methods that don't have a destination argument.voidsetMessageConverter(MessageConverter messageConverter) Set theMessageConverterto use inconvertAndSendmethods. 
- 
Field Details
- 
CONVERSION_HINT_HEADER
Name of the header that can be set to provide further information (for example, aMethodParameterinstance) about the origin of the payload, to be taken into account as a conversion hint.- Since:
 - 4.2
 - See Also:
 
 - 
logger
 
 - 
 - 
Constructor Details
- 
AbstractMessageSendingTemplate
public AbstractMessageSendingTemplate() 
 - 
 - 
Method Details
- 
setDefaultDestination
Configure the default destination to use in send methods that don't have a destination argument. If a default destination is not configured, send methods without a destination argument will raise an exception if invoked. - 
getDefaultDestination
Return the configured default destination. - 
setMessageConverter
Set theMessageConverterto use inconvertAndSendmethods.By default,
SimpleMessageConverteris used.- Parameters:
 messageConverter- the message converter to use
 - 
getMessageConverter
Return the configuredMessageConverter. - 
send
Description copied from interface:MessageSendingOperationsSend a message to a default destination.- Specified by:
 sendin interfaceMessageSendingOperations<D>- Parameters:
 message- the message to send
 - 
getRequiredDefaultDestination
 - 
send
Description copied from interface:MessageSendingOperationsSend a message to the given destination.- Specified by:
 sendin interfaceMessageSendingOperations<D>- Parameters:
 destination- the target destinationmessage- the message to send
 - 
convertAndSend
Description copied from interface:MessageSendingOperationsConvert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message and send it to a default destination.- Specified by:
 convertAndSendin interfaceMessageSendingOperations<D>- Parameters:
 payload- the Object to use as payload- Throws:
 MessagingException
 - 
convertAndSend
Description copied from interface:MessageSendingOperationsConvert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message and send it to the given destination.- Specified by:
 convertAndSendin interfaceMessageSendingOperations<D>- Parameters:
 destination- the target destinationpayload- the Object to use as payload- Throws:
 MessagingException
 - 
convertAndSend
public void convertAndSend(D destination, Object payload, @Nullable Map<String, Object> headers) throws MessagingExceptionDescription copied from interface:MessageSendingOperationsConvert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers and send it to the given destination.- Specified by:
 convertAndSendin interfaceMessageSendingOperations<D>- Parameters:
 destination- the target destinationpayload- the Object to use as payloadheaders- the headers for the message to send- Throws:
 MessagingException
 - 
convertAndSend
public void convertAndSend(Object payload, @Nullable MessagePostProcessor postProcessor) throws MessagingException Description copied from interface:MessageSendingOperationsConvert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message, apply the given post-processor, and send the resulting message to a default destination.- Specified by:
 convertAndSendin interfaceMessageSendingOperations<D>- Parameters:
 payload- the Object to use as payloadpostProcessor- the post-processor to apply to the message- Throws:
 MessagingException
 - 
convertAndSend
public void convertAndSend(D destination, Object payload, @Nullable MessagePostProcessor postProcessor) throws MessagingException Description copied from interface:MessageSendingOperationsConvert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message, apply the given post-processor, and send the resulting message to the given destination.- Specified by:
 convertAndSendin interfaceMessageSendingOperations<D>- Parameters:
 destination- the target destinationpayload- the Object to use as payloadpostProcessor- the post-processor to apply to the message- Throws:
 MessagingException
 - 
convertAndSend
public void convertAndSend(D destination, Object payload, @Nullable Map<String, Object> headers, @Nullable MessagePostProcessor postProcessor) throws MessagingExceptionDescription copied from interface:MessageSendingOperationsConvert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers, apply the given post-processor, and send the resulting message to the given destination.- Specified by:
 convertAndSendin interfaceMessageSendingOperations<D>- Parameters:
 destination- the target destinationpayload- the Object to use as payloadheaders- the headers for the message to sendpostProcessor- the post-processor to apply to the message- Throws:
 MessagingException
 - 
doConvert
protected Message<?> doConvert(Object payload, @Nullable Map<String, Object> headers, @Nullable MessagePostProcessor postProcessor) Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers and apply the given post-processor.- Parameters:
 payload- the Object to use as payloadheaders- the headers for the message to sendpostProcessor- the post-processor to apply to the message- Returns:
 - the converted message
 
 - 
processHeadersToSend
Provides access to the map of input headers before a send operation. Subclasses can modify the headers and then return the same or a different map.This default implementation in this class returns the input map.
- Parameters:
 headers- the headers to send (ornullif none)- Returns:
 - the actual headers to send (or 
nullif none) 
 - 
doSend
Actually send the given message to the given destination.- Parameters:
 destination- the target destinationmessage- the message to send
 
 -