public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler
SimpMessageType
で定義されたメッセージ型を認識し、SubscriptionRegistry
を使用してサブスクリプションを追跡し、サブスクライバーにメッセージを送信する「シンプルな」メッセージブローカー。logger
DEFAULT_PHASE
コンストラクターと説明 |
---|
SimpleBrokerMessageHandler(SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel, SubscribableChannel brokerChannel, CollectionSE<StringSE> destinationPrefixes) 指定されたメッセージチャネルと宛先プレフィックスを使用して SimpleBrokerMessageHandler インスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
MessageHeaderInitializer | getHeaderInitializer() 設定済みのヘッダー初期化子を返します。 |
long[] | getHeartbeatValue() ハートビート設定の構成値。 |
SubscriptionRegistry | getSubscriptionRegistry() |
TaskScheduler | getTaskScheduler() 設定された TaskScheduler を返します。 |
protected void | handleMessageInternal(Message<?> message) |
protected void | sendMessageToSubscribers(StringSE destination, Message<?> message) |
void | setCacheLimit(IntegerSE cacheLimit) 設定されると、指定されたキャッシュ制限が基礎となる SubscriptionRegistry に渡され、そこでデフォルトが上書きされます。 |
void | setHeaderInitializer(MessageHeaderInitializer headerInitializer) MessageHeaderInitializer を構成して、クライアント送信チャネルに送信されるすべてのメッセージのヘッダーに適用します。 |
void | setHeartbeatValue(long[] heartbeat) ハートビート設定の値を構成します。 |
void | setPathMatcher(PathMatcher pathMatcher) 構成すると、指定された PathMatcher が基になる SubscriptionRegistry に渡され、宛先をサブスクリプションに一致させるために使用されます。 |
void | setSelectorHeaderName(StringSE selectorHeaderName) サブスクリプションに一致するメッセージをフィルター処理するために、サブスクリプションメッセージに含めることができるヘッダーの名前を構成します。 |
void | setSubscriptionRegistry(SubscriptionRegistry subscriptionRegistry) サブスクリプションの保存に使用するカスタム SubscriptionRegistry を構成します。 |
void | setTaskScheduler(TaskScheduler taskScheduler) TaskScheduler を構成して、ハートビートサポートの提供に使用します。 |
void | startInternal() |
void | stopInternal() |
StringSE | toString() |
checkDestinationPrefix, getApplicationEventPublisher, getBrokerChannel, getClientInboundChannel, getClientOutboundChannel, getClientOutboundChannelForSession, getDestinationPrefixes, handleMessage, isAutoStartup, isBrokerAvailable, isPreservePublishOrder, isRunning, publishBrokerAvailableEvent, publishBrokerUnavailableEvent, setApplicationEventPublisher, setAutoStartup, setPreservePublishOrder, start, stop, stop
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
getPhase
public SimpleBrokerMessageHandler(SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel, SubscribableChannel brokerChannel, CollectionSE<StringSE> destinationPrefixes)
clientInboundChannel
- クライアントからメッセージを受信するためのチャネル (たとえば WebSocket クライアント)clientOutboundChannel
- クライアントにメッセージを送信するためのチャネル (たとえば WebSocket クライアント)brokerChannel
- アプリケーションがブローカーにメッセージを送信するためのチャネル destinationPrefixes
- メッセージを除外するために使用するプレフィックス public void setSubscriptionRegistry(SubscriptionRegistry subscriptionRegistry)
カスタム PathMatcher が setPathMatcher(org.springframework.util.PathMatcher)
を介して構成されている場合、カスタムレジストリが DefaultSubscriptionRegistry
のインスタンスではない場合、提供 PathMatcher が使用されていない、カスタムレジストリに直接設定されなければならないことに留意されたいです。
public SubscriptionRegistry getSubscriptionRegistry()
public void setPathMatcher(@Nullable PathMatcher pathMatcher)
デフォルトは標準 AntPathMatcher
です。
public void setCacheLimit(@Nullable IntegerSE cacheLimit)
標準 DefaultSubscriptionRegistry
では、デフォルトのキャッシュ制限は 1024 です。
public void setSelectorHeaderName(@Nullable StringSE selectorHeaderName)
例:
headers.foo == 'bar'
デフォルトでは、これは「セレクタ」に設定されています。別の名前に設定するか、null
に設定して、セレクタヘッダーのサポートをオフにすることができます。
selectorHeaderName
- セレクターヘッダーに使用する名前 setSubscriptionRegistry(org.springframework.messaging.simp.broker.SubscriptionRegistry)
, DefaultSubscriptionRegistry.setSelectorHeaderName(String)
public void setTaskScheduler(@Nullable TaskScheduler taskScheduler)
TaskScheduler
を構成して、ハートビートサポートの提供に使用します。このプロパティを設定すると、heartbeatValue
も "10000, 10000" に設定されます。デフォルトでは、これは設定されていません。
@Nullable public TaskScheduler getTaskScheduler()
public void setHeartbeatValue(@Nullable long[] heartbeat)
デフォルトでは、taskScheduler
の場合を除き、これは "0, 0" に設定されます。taskScheduler
の場合、デフォルトは "10000,10000" (ミリ秒単位)になります。
@Nullable public long[] getHeartbeatValue()
public void setHeaderInitializer(@Nullable MessageHeaderInitializer headerInitializer)
MessageHeaderInitializer
を構成して、クライアント送信チャネルに送信されるすべてのメッセージのヘッダーに適用します。デフォルトでは、このプロパティは設定されていません。
@Nullable public MessageHeaderInitializer getHeaderInitializer()
public void startInternal()
AbstractBrokerMessageHandler
の startInternal
public void stopInternal()
AbstractBrokerMessageHandler
の stopInternal
protected void handleMessageInternal(Message<?> message)
AbstractBrokerMessageHandler
の handleMessageInternal
protected void sendMessageToSubscribers(@Nullable StringSE destination, Message<?> message)
public StringSE toString()
ObjectSE
の toStringSE