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, Juergen Hoeller
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringName 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.protected final org.apache.commons.logging.Log -
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, @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, apply the given post-processor, and send the resulting message to the given destination.voidconvertAndSend(D destination, Object payload, @Nullable 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, @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, apply the given post-processor, and send the resulting message to the given destination.voidconvertAndSend(Object payload, Map<String, Object> headers) 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, @Nullable 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<?> 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.protected abstract voidActually send the given message to the given destination.Return the configured default destination.Return the configuredMessageConverter.protected final DprocessHeadersToSend(@Nullable 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(@Nullable 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
protected final org.apache.commons.logging.Log logger
-
-
Constructor Details
-
AbstractMessageSendingTemplate
public AbstractMessageSendingTemplate()
-
-
Method Details
-
setDefaultDestination
-
getDefaultDestination
-
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
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 payloadheaders- the headers for the message to send- 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(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:
payload- the Object to use as payloadheaders- the headers for the message to sendpostProcessor- 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
-