Class AbstractDestinationResolvingMessagingTemplate<D>
java.lang.Object
org.springframework.messaging.core.AbstractMessageSendingTemplate<D>
org.springframework.messaging.core.AbstractMessageReceivingTemplate<D>
org.springframework.messaging.core.AbstractMessagingTemplate<D>
org.springframework.messaging.core.AbstractDestinationResolvingMessagingTemplate<D>
- Type Parameters:
- D- the destination type
- All Implemented Interfaces:
- DestinationResolvingMessageReceivingOperations<D>,- DestinationResolvingMessageRequestReplyOperations<D>,- DestinationResolvingMessageSendingOperations<D>,- MessageReceivingOperations<D>,- MessageRequestReplyOperations<D>,- MessageSendingOperations<D>
- Direct Known Subclasses:
- GenericMessagingTemplate
public abstract class AbstractDestinationResolvingMessagingTemplate<D>
extends AbstractMessagingTemplate<D>
implements DestinationResolvingMessageSendingOperations<D>, DestinationResolvingMessageReceivingOperations<D>, DestinationResolvingMessageRequestReplyOperations<D>
An extension of 
AbstractMessagingTemplate that adds operations for sending
 messages to a resolvable destination name. Supports destination resolving as defined by
 the following interfaces:
 - Since:
- 4.0
- Author:
- Mark Fisher, Rossen Stoyanchev
- 
Field SummaryFields inherited from class org.springframework.messaging.core.AbstractMessageSendingTemplateCONVERSION_HINT_HEADER, logger
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescription<T> voidconvertAndSend(String destinationName, T payload) Resolve the given destination name to a destination, convert the payload Object to serialized form, possibly using aMessageConverter, wrap it as a message and send it to the resolved destination.<T> voidResolve the given destination name to a destination, convert the payload Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers and send it to the resolved destination.<T> voidconvertAndSend(String destinationName, T payload, @Nullable Map<String, Object> headers, @Nullable MessagePostProcessor postProcessor) Resolve the given destination name to a destination, convert the payload 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 resolved destination.<T> voidconvertAndSend(String destinationName, T payload, @Nullable MessagePostProcessor postProcessor) Resolve the given destination name to a destination, convert the payload Object to serialized form, possibly using aMessageConverter, wrap it as a message, apply the given post processor, and send the resulting message to the resolved destination.<T> @Nullable TconvertSendAndReceive(String destinationName, Object request, @Nullable Map<String, Object> headers, Class<T> targetClass) Resolve the given destination name, convert the payload request Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers and send it to the resolved destination, receive a reply and convert its body to the specified target class.<T> @Nullable TconvertSendAndReceive(String destinationName, Object request, @Nullable Map<String, Object> headers, Class<T> targetClass, @Nullable MessagePostProcessor postProcessor) Resolve the given destination name, convert the payload request Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers, apply the given post process, and send the resulting message to the resolved destination, then receive a reply and convert its body to the specified target class.<T> @Nullable TconvertSendAndReceive(String destinationName, Object request, Class<T> targetClass) Resolve the given destination name, convert the payload request Object to serialized form, possibly using aMessageConverter, wrap it as a message and send it to the resolved destination, receive a reply and convert its body to the specified target class.<T> @Nullable TconvertSendAndReceive(String destinationName, Object request, Class<T> targetClass, @Nullable MessagePostProcessor postProcessor) Resolve the given destination name, convert the payload request Object to serialized form, possibly using aMessageConverter, wrap it as a message, apply the given post process, and send the resulting message to the resolved destination, then receive a reply and convert its body to the specified target class.Return the configured destination resolver.Resolve the given destination name and receive a message from it.<T> @Nullable TreceiveAndConvert(String destinationName, Class<T> targetClass) Resolve the given destination name, receive a message from it, convert the payload to the specified target type.protected final DresolveDestination(String destinationName) voidResolve the given destination name to a destination and send a message to it.sendAndReceive(String destinationName, Message<?> requestMessage) Resolve the given destination name to a destination and send the given message, receive a reply and return it.voidsetDestinationResolver(@Nullable DestinationResolver<D> destinationResolver) Configure theDestinationResolverto use to resolve String destination names into actual destinations of type<D>.Methods inherited from class org.springframework.messaging.core.AbstractMessagingTemplateconvertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, doSendAndReceive, sendAndReceive, sendAndReceiveMethods inherited from class org.springframework.messaging.core.AbstractMessageReceivingTemplatedoConvert, doReceive, receive, receive, receiveAndConvert, receiveAndConvertMethods inherited from class org.springframework.messaging.core.AbstractMessageSendingTemplateconvertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, doConvert, doSend, getDefaultDestination, getMessageConverter, getRequiredDefaultDestination, processHeadersToSend, send, send, setDefaultDestination, setMessageConverterMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.messaging.core.MessageReceivingOperationsreceive, receive, receiveAndConvert, receiveAndConvertMethods inherited from interface org.springframework.messaging.core.MessageRequestReplyOperationsconvertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, sendAndReceive, sendAndReceiveMethods inherited from interface org.springframework.messaging.core.MessageSendingOperationsconvertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, send, send
- 
Constructor Details- 
AbstractDestinationResolvingMessagingTemplatepublic AbstractDestinationResolvingMessagingTemplate()
 
- 
- 
Method Details- 
setDestinationResolverConfigure theDestinationResolverto use to resolve String destination names into actual destinations of type<D>.This field does not have a default setting. If not configured, methods that require resolving a destination name will raise an IllegalArgumentException.- Parameters:
- destinationResolver- the destination resolver to use
 
- 
getDestinationResolverReturn the configured destination resolver.
- 
sendDescription copied from interface:DestinationResolvingMessageSendingOperationsResolve the given destination name to a destination and send a message to it.- Specified by:
- sendin interface- DestinationResolvingMessageSendingOperations<D>
- Parameters:
- destinationName- the destination name to resolve
- message- the message to send
 
- 
resolveDestination
- 
convertAndSendDescription copied from interface:DestinationResolvingMessageSendingOperationsResolve the given destination name to a destination, convert the payload Object to serialized form, possibly using aMessageConverter, wrap it as a message and send it to the resolved destination.- Specified by:
- convertAndSendin interface- DestinationResolvingMessageSendingOperations<D>
- Parameters:
- destinationName- the destination name to resolve
- payload- the Object to use as payload
 
- 
convertAndSendpublic <T> void convertAndSend(String destinationName, T payload, @Nullable Map<String, Object> headers) Description copied from interface:DestinationResolvingMessageSendingOperationsResolve the given destination name to a destination, convert the payload Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers and send it to the resolved destination.- Specified by:
- convertAndSendin interface- DestinationResolvingMessageSendingOperations<D>
- Parameters:
- destinationName- the destination name to resolve
- payload- the Object to use as payload
- headers- the headers for the message to send
 
- 
convertAndSendpublic <T> void convertAndSend(String destinationName, T payload, @Nullable MessagePostProcessor postProcessor) Description copied from interface:DestinationResolvingMessageSendingOperationsResolve the given destination name to a destination, convert the payload Object to serialized form, possibly using aMessageConverter, wrap it as a message, apply the given post processor, and send the resulting message to the resolved destination.- Specified by:
- convertAndSendin interface- DestinationResolvingMessageSendingOperations<D>
- Parameters:
- destinationName- the destination name to resolve
- payload- the Object to use as payload
- postProcessor- the post processor to apply to the message
 
- 
convertAndSendpublic <T> void convertAndSend(String destinationName, T payload, @Nullable Map<String, Object> headers, @Nullable MessagePostProcessor postProcessor) Description copied from interface:DestinationResolvingMessageSendingOperationsResolve the given destination name to a destination, convert the payload 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 resolved destination.- Specified by:
- convertAndSendin interface- DestinationResolvingMessageSendingOperations<D>
- Parameters:
- destinationName- the destination name to resolve
- payload- the Object to use as payload
- headers- the headers for the message to send
- postProcessor- the post processor to apply to the message
 
- 
receiveDescription copied from interface:DestinationResolvingMessageReceivingOperationsResolve the given destination name and receive a message from it.- Specified by:
- receivein interface- DestinationResolvingMessageReceivingOperations<D>
- Parameters:
- destinationName- the destination name to resolve
 
- 
receiveAndConvertDescription copied from interface:DestinationResolvingMessageReceivingOperationsResolve the given destination name, receive a message from it, convert the payload to the specified target type.- Specified by:
- receiveAndConvertin interface- DestinationResolvingMessageReceivingOperations<D>
- Parameters:
- destinationName- the destination name to resolve
- targetClass- the target class for the converted payload
 
- 
sendAndReceiveDescription copied from interface:DestinationResolvingMessageRequestReplyOperationsResolve the given destination name to a destination and send the given message, receive a reply and return it.- Specified by:
- sendAndReceivein interface- DestinationResolvingMessageRequestReplyOperations<D>
- Parameters:
- destinationName- the name of the target destination
- requestMessage- the message to send
- Returns:
- the received message, possibly nullif the message could not be received, for example due to a timeout
 
- 
convertSendAndReceivepublic <T> @Nullable T convertSendAndReceive(String destinationName, Object request, Class<T> targetClass) Description copied from interface:DestinationResolvingMessageRequestReplyOperationsResolve the given destination name, convert the payload request Object to serialized form, possibly using aMessageConverter, wrap it as a message and send it to the resolved destination, receive a reply and convert its body to the specified target class.- Specified by:
- convertSendAndReceivein interface- DestinationResolvingMessageRequestReplyOperations<D>
- Parameters:
- destinationName- the name of the target destination
- request- the payload for the request message to send
- targetClass- the target class to convert the payload of the reply to
- Returns:
- the converted payload of the reply message, possibly nullif the message could not be received, for example due to a timeout
 
- 
convertSendAndReceivepublic <T> @Nullable T convertSendAndReceive(String destinationName, Object request, @Nullable Map<String, Object> headers, Class<T> targetClass) Description copied from interface:DestinationResolvingMessageRequestReplyOperationsResolve the given destination name, convert the payload request Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers and send it to the resolved destination, receive a reply and convert its body to the specified target class.- Specified by:
- convertSendAndReceivein interface- DestinationResolvingMessageRequestReplyOperations<D>
- Parameters:
- destinationName- the name of the target destination
- request- the payload for the request message to send
- headers- the headers for the request message to send
- targetClass- the target class to convert the payload of the reply to
- Returns:
- the converted payload of the reply message, possibly nullif the message could not be received, for example due to a timeout
 
- 
convertSendAndReceivepublic <T> @Nullable T convertSendAndReceive(String destinationName, Object request, Class<T> targetClass, @Nullable MessagePostProcessor postProcessor) Description copied from interface:DestinationResolvingMessageRequestReplyOperationsResolve the given destination name, convert the payload request Object to serialized form, possibly using aMessageConverter, wrap it as a message, apply the given post process, and send the resulting message to the resolved destination, then receive a reply and convert its body to the specified target class.- Specified by:
- convertSendAndReceivein interface- DestinationResolvingMessageRequestReplyOperations<D>
- Parameters:
- destinationName- the name of the target destination
- request- the payload for the request message to send
- targetClass- the target class to convert the payload of the reply to
- postProcessor- post process for the request message
- Returns:
- the converted payload of the reply message, possibly nullif the message could not be received, for example due to a timeout
 
- 
convertSendAndReceivepublic <T> @Nullable T convertSendAndReceive(String destinationName, Object request, @Nullable Map<String, Object> headers, Class<T> targetClass, @Nullable MessagePostProcessor postProcessor) Description copied from interface:DestinationResolvingMessageRequestReplyOperationsResolve the given destination name, convert the payload request Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers, apply the given post process, and send the resulting message to the resolved destination, then receive a reply and convert its body to the specified target class.- Specified by:
- convertSendAndReceivein interface- DestinationResolvingMessageRequestReplyOperations<D>
- Parameters:
- destinationName- the name of the target destination
- request- the payload for the request message to send
- headers- the headers for the request message to send
- targetClass- the target class to convert the payload of the reply to
- postProcessor- post process for the request message
- Returns:
- the converted payload of the reply message, possibly nullif the message could not be received, for example due to a timeout
 
 
-