クラス 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 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, getPhase, handleMessage, isAutoStartup, isBrokerAvailable, isPreservePublishOrder, isRunning, publishBrokerAvailableEvent, publishBrokerUnavailableEvent, setApplicationEventPublisher, setAutoStartup, setPhase, setPreservePublishOrder, setUserDestinationPredicate, start, stop, stop
コンストラクターの詳細
SimpleBrokerMessageHandler
public 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
startInternal
public void startInternal()- オーバーライド:
- クラス
AbstractBrokerMessageHandlerのstartInternal
stopInternal
public void stopInternal()- オーバーライド:
- クラス
AbstractBrokerMessageHandlerのstopInternal
handleMessageInternal
- 次で指定:
- クラス
AbstractBrokerMessageHandlerのhandleMessageInternal
sendMessageToSubscribers
toString