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
-