org.springframework.messaging.simp.config

## Class SimpleBrokerRegistration

- java.lang.Object
- - org.springframework.messaging.simp.config.AbstractBrokerRegistration
  - - org.springframework.messaging.simp.config.SimpleBrokerRegistration

-     public class SimpleBrokerRegistration
      extends AbstractBrokerRegistration

  Registration class for configuring a `SimpleBrokerMessageHandler`.
  Since:
    4.0
  Author:
    Rossen Stoyanchev

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleBrokerRegistration(SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel, String[] destinationPrefixes)` Create a new `SimpleBrokerRegistration`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected SimpleBrokerMessageHandler` | `getMessageHandler(SubscribableChannel brokerChannel)`
    `SimpleBrokerRegistration` | `setHeartbeatValue(long[] heartbeat)` Configure the value for the heartbeat settings.
    `void` | `setSelectorHeaderName(String selectorHeaderName)` Configure the name of a header that a subscription message can have for the purpose of filtering messages matched to the subscription.
    `SimpleBrokerRegistration` | `setTaskScheduler(TaskScheduler taskScheduler)` Configure the `TaskScheduler` to use for providing heartbeat support.

    - ### Methods inherited from class org.springframework.messaging.simp.config.AbstractBrokerRegistration

      `getClientInboundChannel, getClientOutboundChannel, getDestinationPrefixes`

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

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

- - ### Constructor Detail

    - #### SimpleBrokerRegistration

          public SimpleBrokerRegistration(SubscribableChannel clientInboundChannel,
                                          MessageChannel clientOutboundChannel,
                                          String[] destinationPrefixes)

      Create a new `SimpleBrokerRegistration`.
      Parameters:
        `clientInboundChannel` - the inbound channel
        `clientOutboundChannel` - the outbound channel
        `destinationPrefixes` - the destination prefixes

  - ### Method Detail

    - #### setTaskScheduler

          public SimpleBrokerRegistration setTaskScheduler(TaskScheduler taskScheduler)

      Configure the `TaskScheduler` to use for providing heartbeat support. Setting this property also sets the `heartbeatValue` to "10000, 10000".

      By default this is not set.

      Since:
        4.2

    - #### setHeartbeatValue

          public SimpleBrokerRegistration setHeartbeatValue(long[] heartbeat)

      Configure the value for the heartbeat settings. The first number represents how often the server will write or send a heartbeat. The second is how often the client should write. 0 means no heartbeats.

      By default this is set to "0, 0" unless the `taskScheduler` in which case the default becomes "10000,10000" (in milliseconds).

      Since:
        4.2

    - #### setSelectorHeaderName

          public void setSelectorHeaderName(@Nullable
                                            String selectorHeaderName)

      Configure the name of a header that a subscription message can have for the purpose of filtering messages matched to the subscription. The header value is expected to be a Spring EL boolean expression to be applied to the headers of messages matched to the subscription.

      For example:

           headers.foo == 'bar'

      By default this is set to "selector". You can set it to a different name, or to `null` to turn off support for a selector header.

      Parameters:
        `selectorHeaderName` - the name to use for a selector header
      Since:
        4.3.17

    - #### getMessageHandler

          protected SimpleBrokerMessageHandler getMessageHandler(SubscribableChannel brokerChannel)

      Specified by:
        `getMessageHandler` in class `AbstractBrokerRegistration`