クラス MessageBrokerRegistry
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Sebastien Deleuze
コンストラクターのサマリー
コンストラクターコンストラクター説明MessageBrokerRegistry
(SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel) メソッドのサマリー
修飾子と型メソッド説明アプリケーションからメッセージブローカーにメッセージを送信するために使用するチャネルをカスタマイズします。enableSimpleBroker
(StringSE... destinationPrefixes) シンプルなメッセージブローカーを有効にし、1 つ以上のプレフィックスを設定して、ブローカーをターゲットとする宛先をフィルタリングします(例:enableStompBrokerRelay
(StringSE... destinationPrefixes) STOMP ブローカーリレーを有効にし、メッセージブローカーでサポートされる宛先プレフィックスを設定します。protected CollectionSE<StringSE>
protected ChannelRegistration
protected PathMatcher
protected SimpleBrokerMessageHandler
getSimpleBroker
(SubscribableChannel brokerChannel) protected StompBrokerRelayMessageHandler
getStompBrokerRelay
(SubscribableChannel brokerChannel) protected StringSE
protected StringSE
protected StringSE
protected IntegerSE
setApplicationDestinationPrefixes
(StringSE... prefixes) 1 つ以上のプレフィックスを設定して、アプリケーションのアノテーション付きメソッドをターゲットとする宛先をフィルタリングします。setCacheLimit
(int cacheLimit) ブローカーへの登録に適用するキャッシュ制限を構成します。setPathMatcher
(PathMatcher pathMatcher) 受信メッセージの宛先を@MessageMapping
および@SubscribeMapping
メソッドに一致させるために使用する PathMatcher を構成します。setPreservePublishOrder
(boolean preservePublishOrder) クライアントが発行順にメッセージを受信する必要があるかどうか。setUserDestinationPrefix
(StringSE destinationPrefix) ユーザーの宛先を識別するために使用する接頭辞を構成します。void
setUserRegistryOrder
(int order) SmartApplicationListener
として使用するSimpUserRegistry
の順序を設定します。
コンストラクターの詳細
MessageBrokerRegistry
public MessageBrokerRegistry(SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel)
メソッドの詳細
enableSimpleBroker
単純なメッセージブローカーを有効にし、ブローカーをターゲットとする宛先をフィルタリングするために 1 つ以上のプレフィックスを構成します(たとえば、"/topic" でプレフィックスが付けられた宛先)。enableStompBrokerRelay
STOMP ブローカーリレーを有効にし、メッセージブローカーでサポートされる宛先プレフィックスを設定します。サポートされている宛先については、メッセージブローカーの STOMP ドキュメントを確認してください。configureBrokerChannel
アプリケーションからメッセージブローカーにメッセージを送信するために使用するチャネルをカスタマイズします。デフォルトでは、アプリケーションからメッセージブローカーへのメッセージは同期的に送信されます。つまり、メッセージを送信するアプリケーションコードは、メッセージが例外を介して送信できないかどうかを調べます。ただし、ブローカーチャネルがタスクエグゼキュータープロパティを使用して設定されている場合は、これを変更できます。getBrokerChannelRegistration
getUserDestinationBroadcast
getUserRegistryBroadcast
setApplicationDestinationPrefixes
1 つ以上のプレフィックスを構成して、アプリケーションのアノテーション付きメソッドを対象とする宛先をフィルタリングします。たとえば、"/app" のプレフィックスが付いた宛先は、アノテーション付きのメソッドで処理できますが、他の宛先はメッセージブローカー("/topic","/queue" など)をターゲットにすることができます。メッセージが処理されると、ルックアップパスを形成するために、一致するプレフィックスが宛先から削除されます。つまり、アノテーションには宛先プレフィックスを含めないでください。
末尾にスラッシュがないプレフィックスには、自動的に追加されます。
getApplicationDestinationPrefixes
setUserDestinationPrefix
ユーザーの宛先を識別するために使用する接頭辞を構成します。ユーザー宛先は、ユーザーがセッションに固有のキュー名をサブスクライブする機能と、他のユーザーがそれらの固有のユーザー固有のキューにメッセージを送信する機能を提供します。たとえば、ユーザーが "/user/queue/position-updates" にサブスクライブしようとすると、宛先が "/queue/position-updatesi9oqdfzo" に変換され、同じことを試みている他のユーザーと衝突しない一意のキュー名が生成される場合があります。その後、メッセージが "/user/{username}/queue/position-updates", に送信されると、宛先は "/queue/position-updatesi9oqdfzo" に変換されます。
このような宛先を識別するために使用されるデフォルトのプレフィックスは "/user/" です。
getUserDestinationPrefix
setUserRegistryOrder
public void setUserRegistryOrder(int order) SmartApplicationListener
として使用するSimpUserRegistry
の順序を設定します。- パラメーター:
order
- オーダー額- 導入:
- 5.0.8
getUserRegistryOrder
setPathMatcher
受信メッセージの宛先を@MessageMapping
および@SubscribeMapping
メソッドに一致させるために使用する PathMatcher を構成します。デフォルトでは、
AntPathMatcher
が構成されています。ただし、アプリケーションは、"." を使用するようにカスタマイズされたAntPathMatcher
インスタンスを提供する場合があります。(メッセージングで一般的に使用されます)パス区切り文字として "/" の代わりに使用するか、完全に異なる PathMatcher 実装を提供します。設定された PathMatcher は、設定されたプレフィックスの後の宛先の部分を照合するためにのみ使用されることに注意してください。たとえば、アプリケーションの宛先プレフィックス "/app" と宛先 "/app/price.stock.**" が与えられた場合、メッセージは、型とメソッドレベルのマッピングとしてそれぞれ "price" と "stock.**" を使用してコントローラーにマッピングされる可能性があります。
シンプルブローカーが有効になっている場合、ここで構成された PathMatcher は、メッセージをブローカーするときにメッセージの宛先を照合するためにも使用されます。
getPathMatcher
setCacheLimit
ブローカーへの登録に適用するキャッシュ制限を構成します。これは現在、サブスクリプションレジストリの宛先キャッシュにのみ適用されます。デフォルトのキャッシュ制限は 1024 です。
- 導入:
- 4.3.2
- 関連事項:
setPreservePublishOrder
クライアントが発行順にメッセージを受信する必要があるかどうか。デフォルトでは、
"clientOutboundChannel"
に送信されたメッセージは同じ順序で処理されない場合があります。これは、チャネルが ThreadPoolExecutor によってサポートされているため、順番に処理が保証されないためです。このフラグを
true
に設定すると、同じセッション内のメッセージが一度に 1 つずつ"clientOutboundChannel"
に送信され、公開の順序が保持されます。メッセージを正しい順序で保持するためのパフォーマンスのオーバーヘッドがあるため、必要な場合にのみこれを有効にしてください。- 導入:
- 5.1
getSimpleBroker
getStompBrokerRelay
@Nullable protected StompBrokerRelayMessageHandler getStompBrokerRelay(SubscribableChannel brokerChannel)