クラス SimpleBrokerMessageHandler
java.lang.ObjectSE
org.springframework.messaging.simp.broker.AbstractBrokerMessageHandler
org.springframework.messaging.simp.broker.SimpleBrokerMessageHandler
- 実装済みのインターフェース一覧:
Aware、ApplicationEventPublisherAware、Lifecycle、Phased、SmartLifecycle、MessageHandler
SimpMessageType で定義されたメッセージ型を認識し、SubscriptionRegistry を使用してサブスクリプションを追跡し、サブスクライバーにメッセージを送信する「シンプルな」メッセージブローカー。- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller
フィールド概要
クラス org.springframework.messaging.simp.broker.AbstractBrokerMessageHandler から継承されたフィールド
loggerインターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASEコンストラクター概要
コンストラクターコンストラクター説明SimpleBrokerMessageHandler(SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel, SubscribableChannel brokerChannel, CollectionSE<StringSE> destinationPrefixes) 指定されたメッセージチャネルと宛先プレフィックスを使用して SimpleBrokerMessageHandler インスタンスを作成します。方法の概要
修飾子と型メソッド説明設定済みのヘッダー初期化子を返します。long[]ハートビート設定の構成値。設定された TaskScheduler を返します。protected voidhandleMessageInternal(Message<?> message) protected voidsendMessageToSubscribers(StringSE destination, Message<?> message) voidsetCacheLimit(IntegerSE cacheLimit) 設定されると、指定されたキャッシュ制限が基礎となる SubscriptionRegistry に渡され、そこでデフォルトが上書きされます。voidsetHeaderInitializer(MessageHeaderInitializer headerInitializer) MessageHeaderInitializerを構成して、クライアント送信チャネルに送信されるすべてのメッセージのヘッダーに適用します。voidsetHeartbeatValue(long[] heartbeat) ハートビート設定の値を構成します。voidsetPathMatcher(PathMatcher pathMatcher) 構成すると、指定された PathMatcher が基になる SubscriptionRegistry に渡され、宛先をサブスクリプションに一致させるために使用されます。voidsetSelectorHeaderName(StringSE selectorHeaderName) サブスクリプションに一致するメッセージをフィルター処理するために、サブスクリプションメッセージに含めることができるヘッダーの名前を構成します。voidsetSubscriptionRegistry(SubscriptionRegistry subscriptionRegistry) サブスクリプションの保存に使用するカスタム SubscriptionRegistry を構成します。voidsetTaskScheduler(TaskScheduler taskScheduler) TaskSchedulerを構成して、ハートビートサポートの提供に使用します。voidvoidtoString()クラス org.springframework.messaging.simp.broker.AbstractBrokerMessageHandler から継承されたメソッド
checkDestinationPrefix, getApplicationEventPublisher, getBrokerChannel, getClientInboundChannel, getClientOutboundChannel, getClientOutboundChannelForSession, getDestinationPrefixes, handleMessage, isAutoStartup, isBrokerAvailable, isPreservePublishOrder, isRunning, publishBrokerAvailableEvent, publishBrokerUnavailableEvent, setApplicationEventPublisher, setAutoStartup, setPreservePublishOrder, setUserDestinationPredicate, start, stop, stopクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース org.springframework.context.SmartLifecycle から継承されたメソッド
getPhase
コンストラクターの詳細
SimpleBrokerMessageHandler
public SimpleBrokerMessageHandler(SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel, SubscribableChannel brokerChannel, CollectionSE<StringSE> destinationPrefixes) 指定されたメッセージチャネルと宛先プレフィックスを使用して SimpleBrokerMessageHandler インスタンスを作成します。- パラメーター:
clientInboundChannel- クライアントからメッセージを受信するためのチャネル (たとえば WebSocket クライアント)clientOutboundChannel- クライアントにメッセージを送信するためのチャネル (たとえば WebSocket クライアント)brokerChannel- アプリケーションがブローカーにメッセージを送信するためのチャネルdestinationPrefixes- メッセージを除外するために使用するプレフィックス
方法の詳細
setSubscriptionRegistry
サブスクリプションの保存に使用するカスタム SubscriptionRegistry を構成します。カスタム PathMatcher が
setPathMatcher(org.springframework.util.PathMatcher)を介して構成されている場合、カスタムレジストリがDefaultSubscriptionRegistryのインスタンスではない場合、提供 PathMatcher が使用されていない、カスタムレジストリに直接設定されなければならないことに留意されたいです。getSubscriptionRegistry
setPathMatcher
構成すると、指定された PathMatcher が基になる SubscriptionRegistry に渡され、宛先をサブスクリプションに一致させるために使用されます。デフォルトは標準
AntPathMatcherです。setCacheLimit
設定されると、指定されたキャッシュ制限が基礎となる SubscriptionRegistry に渡され、そこでデフォルトが上書きされます。標準
DefaultSubscriptionRegistryでは、デフォルトのキャッシュ制限は 1024 です。setSelectorHeaderName
サブスクリプションに一致するメッセージをフィルター処理するために、サブスクリプションメッセージに含めることができるヘッダーの名前を構成します。ヘッダー値は、サブスクリプションに一致するメッセージのヘッダーに適用される Spring EL ブール式であることが期待されています。例:
headers.foo == 'bar'
デフォルトでは、これは「セレクタ」に設定されています。別の名前に設定するか、
nullに設定して、セレクタヘッダーのサポートをオフにすることができます。- パラメーター:
selectorHeaderName- セレクターヘッダーに使用する名前- 導入:
- 4.3.17
- 関連事項:
setTaskScheduler
TaskSchedulerを構成して、ハートビートサポートの提供に使用します。このプロパティを設定すると、heartbeatValueも "10000, 10000" に設定されます。デフォルトでは、これは設定されていません。
- 導入:
- 4.2
getTaskScheduler
設定された TaskScheduler を返します。- 導入:
- 4.2
setHeartbeatValue
ハートビート設定の値を構成します。最初の数値は、サーバーがハートビートを書き込むまたは送信する頻度を表します。2 番目は、クライアントが書き込む頻度です。0 はハートビートがないことを意味します。デフォルトでは、
taskSchedulerの場合を除き、これは "0, 0" に設定されます。taskSchedulerの場合、デフォルトは "10000,10000" (ミリ秒単位)になります。- 導入:
- 4.2
getHeartbeatValue
ハートビート設定の構成値。- 導入:
- 4.2
setHeaderInitializer
MessageHeaderInitializerを構成して、クライアント送信チャネルに送信されるすべてのメッセージのヘッダーに適用します。デフォルトでは、このプロパティは設定されていません。
- 導入:
- 4.1
getHeaderInitializer
設定済みのヘッダー初期化子を返します。- 導入:
- 4.1
startInternal
public void startInternal()- オーバーライド:
- クラス
AbstractBrokerMessageHandlerのstartInternal
stopInternal
public void stopInternal()- オーバーライド:
- クラス
AbstractBrokerMessageHandlerのstopInternal
handleMessageInternal
- 次で指定:
- クラス
AbstractBrokerMessageHandlerのhandleMessageInternal
sendMessageToSubscribers
toString