org.springframework.messaging.core

## Class AbstractMessageSendingTemplate<D>

- java.lang.Object
- - org.springframework.messaging.core.AbstractMessageSendingTemplate<D>

- All Implemented Interfaces:
    MessageSendingOperations<D>
  Direct Known Subclasses:
    AbstractMessagingTemplate, 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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Log` | `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractMessageSendingTemplate()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `convertAndSend(D destination, Object payload)` Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message and send it to the given destination.
    `void` | `convertAndSend(D destination, Object payload, Map<String,Object> headers)` Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message with the given headers and send it to a default destination.
    `void` | `convertAndSend(D destination, Object payload, Map<String,Object> headers, MessagePostProcessor postProcessor)` Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message with the given headers, apply the given post processor, and send the resulting message to the given destination.
    `void` | `convertAndSend(D destination, Object payload, MessagePostProcessor postProcessor)` Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message, apply the given post processor, and send the resulting message to the given destination.
    `void` | `convertAndSend(Object payload)` Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message and send it to a default destination.
    `void` | `convertAndSend(Object payload, MessagePostProcessor postProcessor)` Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message, apply the given post processor, and send the resulting message to a default destination.
    `protected abstract void` | `doSend(D destination, Message<?> message)`
    `D` | `getDefaultDestination()` Return the configured default destination.
    `MessageConverter` | `getMessageConverter()` Return the configured `MessageConverter`.
    `protected D` | `getRequiredDefaultDestination()`
    `protected Map<String,Object>` | `processHeadersToSend(Map<String,Object> headers)` Provides access to the map of headers before a send operation.
    `void` | `send(D destination, Message<?> message)` Send a message to the given destination.
    `void` | `send(Message<?> message)` Send a message to a default destination.
    `void` | `setDefaultDestination(D defaultDestination)` Configure the default destination to use in send methods that don't have a destination argument.
    `void` | `setMessageConverter(MessageConverter messageConverter)` Set the `MessageConverter` to use in `convertAndSend` methods.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### logger

          protected final Log logger

  - ### Constructor Detail

    - #### AbstractMessageSendingTemplate

          public AbstractMessageSendingTemplate()

  - ### Method Detail

    - #### setDefaultDestination

          public void setDefaultDestination(D defaultDestination)

      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

          public D getDefaultDestination()

      Return the configured default destination.

    - #### setMessageConverter

          public void setMessageConverter(MessageConverter messageConverter)

      Set the `MessageConverter` to use in `convertAndSend` methods.

      By default, `SimpleMessageConverter` is used.

      Parameters:
        `messageConverter` - the message converter to use

    - #### getMessageConverter

          public MessageConverter getMessageConverter()

      Return the configured `MessageConverter`.

    - #### send

          public void send(Message<?> message)

      Description copied from interface: `MessageSendingOperations`
      Send a message to a default destination.
      Specified by:
        `send` in interface `MessageSendingOperations<D>`
      Parameters:
        `message` - the message to send

    - #### getRequiredDefaultDestination

          protected final D getRequiredDefaultDestination()

    - #### send

          public void send(D destination,
                           Message<?> message)

      Description copied from interface: `MessageSendingOperations`
      Send a message to the given destination.
      Specified by:
        `send` in interface `MessageSendingOperations<D>`
      Parameters:
        `destination` - the target destination
        `message` - the message to send

    - #### doSend

          protected abstract void doSend(D destination,
                                         Message<?> message)

    - #### convertAndSend

          public void convertAndSend(Object payload)
                              throws MessagingException

      Description copied from interface: `MessageSendingOperations`
      Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message and send it to a default destination.
      Specified by:
        `convertAndSend` in interface `MessageSendingOperations<D>`
      Parameters:
        `payload` - the Object to use as payload
      Throws:
        `MessagingException`

    - #### convertAndSend

          public void convertAndSend(D destination,
                                     Object payload)
                              throws MessagingException

      Description copied from interface: `MessageSendingOperations`
      Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message and send it to the given destination.
      Specified by:
        `convertAndSend` in interface `MessageSendingOperations<D>`
      Parameters:
        `destination` - the target destination
        `payload` - the Object to use as payload
      Throws:
        `MessagingException`

    - #### convertAndSend

          public void convertAndSend(D destination,
                                     Object payload,
                                     Map<String,Object> headers)
                              throws MessagingException

      Description copied from interface: `MessageSendingOperations`
      Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message with the given headers and send it to a default destination.
      Specified by:
        `convertAndSend` in interface `MessageSendingOperations<D>`
      Parameters:
        `destination` - the target destination
        `payload` - the Object to use as payload
        `headers` - headers for the message to send
      Throws:
        `MessagingException`

    - #### convertAndSend

          public void convertAndSend(Object payload,
                                     MessagePostProcessor postProcessor)
                              throws MessagingException

      Description copied from interface: `MessageSendingOperations`
      Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message, apply the given post processor, and send the resulting message to a default destination.
      Specified by:
        `convertAndSend` in interface `MessageSendingOperations<D>`
      Parameters:
        `payload` - the Object to use as payload
        `postProcessor` - the post processor to apply to the message
      Throws:
        `MessagingException`

    - #### convertAndSend

          public void convertAndSend(D destination,
                                     Object payload,
                                     MessagePostProcessor postProcessor)
                              throws MessagingException

      Description copied from interface: `MessageSendingOperations`
      Convert the given Object to serialized form, possibly using a `MessageConverter`, wrap it as a message, apply the given post processor, and send the resulting message to the given destination.
      Specified by:
        `convertAndSend` in interface `MessageSendingOperations<D>`
      Parameters:
        `destination` - the target destination
        `payload` - the Object to use as payload
        `postProcessor` - the post processor to apply to the message
      Throws:
        `MessagingException`

    - #### convertAndSend

          public void convertAndSend(D destination,
                                     Object payload,
                                     Map<String,Object> headers,
                                     MessagePostProcessor postProcessor)
                              throws MessagingException

      Description copied from interface: `MessageSendingOperations`
      Convert the given Object to serialized form, possibly using a `MessageConverter`, 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:
        `convertAndSend` in interface `MessageSendingOperations<D>`
      Parameters:
        `destination` - the target destination
        `payload` - the Object to use as payload
        `headers` - headers for the message to send
        `postProcessor` - the post processor to apply to the message
      Throws:
        `MessagingException`

    - #### processHeadersToSend

          protected Map<String,Object> processHeadersToSend(Map<String,Object> headers)

      Provides access to the map of headers before a send operation. Implementations can modify the headers by returning a different map. This implementation returns the map that was passed in (i.e. without any changes).
      Parameters:
        `headers` - the headers to send, possibly `null`
      Returns:
        the actual headers to send