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 inChannel, MessageChannel outChannel, String[] prefixes)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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(org.springframework.scheduling.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 inChannel,
                                    MessageChannel outChannel,
                                    String[] prefixes)

### Method Detail

#### setTaskScheduler

    public SimpleBrokerRegistration setTaskScheduler(org.springframework.scheduling.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`