クラス SimpleBrokerMessageHandler
- 実装されているすべてのインターフェース:
- Aware、- ApplicationEventPublisherAware、- Lifecycle、- Phased、- SmartLifecycle、- MessageHandler
SimpMessageType で定義されたメッセージ型を認識し、SubscriptionRegistry を使用してサブスクリプションを追跡し、サブスクライバーにメッセージを送信する「単純な」メッセージブローカー。- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller, Sam Brannen
- フィールドのサマリー- クラス 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 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- void- toString()- クラス org.springframework.messaging.simp.broker.AbstractBrokerMessageHandler から継承されたメソッド- checkDestinationPrefix, getApplicationEventPublisher, getBrokerChannel, getClientInboundChannel, getClientOutboundChannel, getClientOutboundChannelForSession, getDestinationPrefixes, getPhase, handleMessage, isAutoStartup, isBrokerAvailable, isPreservePublishOrder, isRunning, publishBrokerAvailableEvent, publishBrokerUnavailableEvent, setApplicationEventPublisher, setAutoStartup, setPhase, setPreservePublishOrder, setUserDestinationPredicate, start, stop, stop
- コンストラクターの詳細- SimpleBrokerMessageHandlerpublic SimpleBrokerMessageHandler- (SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel, SubscribableChannel brokerChannel, CollectionSE<StringSE> destinationPrefixes) 指定されたメッセージチャネルと宛先プレフィックスを使用して SimpleBrokerMessageHandler インスタンスを作成します。- パラメーター:
- clientInboundChannel- クライアントからメッセージを受信するためのチャネル (たとえば WebSocket クライアント)
- clientOutboundChannel- クライアントにメッセージを送信するためのチャネル (たとえば WebSocket クライアント)
- brokerChannel- アプリケーションがブローカーにメッセージを送信するためのチャネル
- destinationPrefixes- メッセージを除外するために使用するプレフィックス
 
 
- メソッドの詳細- setSubscriptionRegistryサブスクリプションの保存に使用するカスタム- SubscriptionRegistryを構成します。- 注 : カスタムレジストリが - DefaultSubscriptionRegistryのインスタンスではない場合、構成された- PathMatcher、キャッシュ制限、およびセレクターヘッダー名は使用されないため、カスタムレジストリで直接構成する必要があります。
- getSubscriptionRegistry
- setPathMatcher構成すると、指定された PathMatcher が基になる SubscriptionRegistry に渡され、宛先をサブスクリプションに一致させるために使用されます。- デフォルトは標準 - AntPathMatcherです。- 基礎となる SubscriptionRegistry が - DefaultSubscriptionRegistryのインスタンスではない場合、このプロパティを設定しても効果はありません。
- setCacheLimit設定されると、指定されたキャッシュ制限が基礎となる SubscriptionRegistry に渡され、そこでデフォルトが上書きされます。- 標準 - DefaultSubscriptionRegistryでは、デフォルトのキャッシュ制限は 1024 です。- 基礎となる SubscriptionRegistry が - DefaultSubscriptionRegistryのインスタンスではない場合、このプロパティを設定しても効果はありません。
- setSelectorHeaderNameサブスクリプションに一致するメッセージをフィルター処理するために、サブスクリプションメッセージに含めることができるヘッダーの名前を構成します。- ヘッダー値は、サブスクリプションに一致するメッセージのヘッダーに適用される Spring Expression Language (SpEL) ブール式であることが想定されます。 - 例: - headers.foo == 'bar' - デフォルトでは、セレクターヘッダー名は - nullに設定されており、この機能は無効になっています。これを- "selector"または別の名前に設定して、セレクターヘッダーのサポートを有効にすることができます。- 基礎となる SubscriptionRegistry が - DefaultSubscriptionRegistryのインスタンスではない場合、このプロパティを設定しても効果はありません。- パラメーター:
- selectorHeaderName- セレクターヘッダーに使用する名前、またはセレクターヘッダーのサポートを無効にする場合は- nullまたは空白
- 導入:
- 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
 
- startInternalpublic void startInternal()- オーバーライド:
-  クラス AbstractBrokerMessageHandlerのstartInternal
 
- stopInternalpublic void stopInternal()- オーバーライド:
-  クラス AbstractBrokerMessageHandlerのstopInternal
 
- handleMessageInternal- 次で指定:
-  クラス AbstractBrokerMessageHandlerのhandleMessageInternal
 
- sendMessageToSubscribers
- toString