クラス MessageBrokerRegistry

java.lang.ObjectSE
org.springframework.messaging.simp.config.MessageBrokerRegistry

public class MessageBrokerRegistry extends ObjectSE
メッセージブローカーオプションを設定するためのレジストリ。
導入:
4.0
作成者:
Rossen Stoyanchev, Sebastien Deleuze
  • コンストラクターの詳細

  • メソッドの詳細

    • enableSimpleBroker

      public SimpleBrokerRegistration enableSimpleBroker(StringSE... destinationPrefixes)
      単純なメッセージブローカーを有効にし、ブローカーをターゲットとする宛先をフィルタリングするために 1 つ以上のプレフィックスを構成します(たとえば、"/topic" でプレフィックスが付けられた宛先)。
    • enableStompBrokerRelay

      public StompBrokerRelayRegistration enableStompBrokerRelay(StringSE... destinationPrefixes)
      STOMP ブローカーリレーを有効にし、メッセージブローカーでサポートされる宛先プレフィックスを設定します。サポートされている宛先については、メッセージブローカーの STOMP ドキュメントを確認してください。
    • configureBrokerChannel

      public ChannelRegistration configureBrokerChannel()
      アプリケーションからメッセージブローカーにメッセージを送信するために使用するチャネルをカスタマイズします。デフォルトでは、アプリケーションからメッセージブローカーへのメッセージは同期的に送信されます。つまり、メッセージを送信するアプリケーションコードは、メッセージが例外を介して送信できないかどうかを調べます。ただし、ブローカーチャネルがタスクエグゼキュータープロパティを使用して設定されている場合は、これを変更できます。
    • getBrokerChannelRegistration

      protected ChannelRegistration getBrokerChannelRegistration()
    • getUserDestinationBroadcast

      @Nullable protected StringSE getUserDestinationBroadcast()
    • getUserRegistryBroadcast

      @Nullable protected StringSE getUserRegistryBroadcast()
    • setApplicationDestinationPrefixes

      public MessageBrokerRegistry setApplicationDestinationPrefixes(StringSE... prefixes)
      1 つ以上のプレフィックスを構成して、アプリケーションのアノテーション付きメソッドを対象とする宛先をフィルタリングします。たとえば、"/app" のプレフィックスが付いた宛先は、アノテーション付きのメソッドで処理できますが、他の宛先はメッセージブローカー("/topic","/queue" など)をターゲットにすることができます。

      メッセージが処理されると、ルックアップパスを形成するために、一致するプレフィックスが宛先から削除されます。つまり、アノテーションには宛先プレフィックスを含めないでください。

      末尾にスラッシュがないプレフィックスには、自動的に追加されます。

    • getApplicationDestinationPrefixes

      @Nullable protected CollectionSE<StringSE> getApplicationDestinationPrefixes()
    • setUserDestinationPrefix

      public MessageBrokerRegistry setUserDestinationPrefix(StringSE destinationPrefix)
      ユーザーの宛先を識別するために使用する接頭辞を構成します。ユーザー宛先は、ユーザーがセッションに固有のキュー名をサブスクライブする機能と、他のユーザーがそれらの固有のユーザー固有のキューにメッセージを送信する機能を提供します。

      たとえば、ユーザーが "/user/queue/position-updates" にサブスクライブしようとすると、宛先が "/queue/position-updates-useri9oqdfzo" に変換され、同じことを試みている他のユーザーと衝突しない一意のキュー名が生成される場合があります。その後、メッセージが "/user/{username}/queue/position-updates", に送信されると、宛先は "/queue/position-updates-useri9oqdfzo" に変換されます。

      このような宛先を識別するために使用されるデフォルトのプレフィックスは "/user/" です。

    • getUserDestinationPrefix

      @Nullable protected StringSE getUserDestinationPrefix()
    • setUserRegistryOrder

      public void setUserRegistryOrder(int order)
      SmartApplicationListener として使用する SimpUserRegistry の順序を設定します。
      パラメーター:
      order - オーダー額
      導入:
      5.0.8
    • getUserRegistryOrder

      @Nullable protected IntegerSE getUserRegistryOrder()
    • setPathMatcher

      public MessageBrokerRegistry setPathMatcher(PathMatcher pathMatcher)
      受信メッセージの宛先を @MessageMapping および @SubscribeMapping メソッドに一致させるために使用する PathMatcher を構成します。

      デフォルトでは、AntPathMatcher が構成されています。ただし、アプリケーションは、"." を使用するようにカスタマイズされた AntPathMatcher インスタンスを提供する場合があります。(メッセージングで一般的に使用されます)パス区切り文字として "/" の代わりに使用するか、完全に異なる PathMatcher 実装を提供します。

      設定された PathMatcher は、設定されたプレフィックスの後の宛先の部分を照合するためにのみ使用されることに注意してください。たとえば、アプリケーションの宛先プレフィックス "/app" と宛先 "/app/price.stock.**" が与えられた場合、メッセージは、型とメソッドレベルのマッピングとしてそれぞれ "price" と "stock.**" を使用してコントローラーにマッピングされる可能性があります。

      シンプルブローカーが有効になっている場合、ここで構成された PathMatcher は、メッセージをブローカーするときにメッセージの宛先を照合するためにも使用されます。

      導入:
      4.1
      関連事項:
    • getPathMatcher

      @Nullable protected PathMatcher getPathMatcher()
    • setCacheLimit

      public MessageBrokerRegistry setCacheLimit(int cacheLimit)
      ブローカーへの登録に適用するキャッシュ制限を構成します。

      これは現在、サブスクリプションレジストリの宛先キャッシュにのみ適用されます。デフォルトのキャッシュ制限は 1024 です。

      導入:
      4.3.2
      関連事項:
    • setPreservePublishOrder

      public MessageBrokerRegistry setPreservePublishOrder(boolean preservePublishOrder)
      クライアントが発行順にメッセージを受信する必要があるかどうか。

      デフォルトでは、"clientOutboundChannel" に送信されたメッセージは同じ順序で処理されない場合があります。これは、チャネルが ThreadPoolExecutor によってサポートされているため、順番に処理が保証されないためです。

      このフラグが true に設定されている場合、同じセッション内のメッセージは、公開順序を維持するために一度に 1 つずつ "clientOutboundChannel" に送信されます。

      導入:
      5.1
    • getSimpleBroker

      @Nullable protected SimpleBrokerMessageHandler getSimpleBroker(SubscribableChannel brokerChannel)
    • getStompBrokerRelay

      @Nullable protected StompBrokerRelayMessageHandler getStompBrokerRelay(SubscribableChannel brokerChannel)