クラス WebSocketStompClient

java.lang.ObjectSE
org.springframework.messaging.simp.stomp.StompClientSupport
org.springframework.web.socket.messaging.WebSocketStompClient
実装されたすべてのインターフェース:
LifecyclePhasedSmartLifecycle

public class WebSocketStompClient extends StompClientSupport implements SmartLifecycle
SockJsClient を含む WebSocketClient の実装を使用して接続する SZMP over WebSocket クライアント。
導入:
4.2
作成者:
Rossen Stoyanchev
  • コンストラクターの詳細

  • メソッドの詳細

    • getWebSocketClient

      public WebSocketClient getWebSocketClient()
      設定された WebSocketClient を返します。
    • setTaskScheduler

      public void setTaskScheduler(@Nullable TaskScheduler taskScheduler)
      ハートビートと受信追跡に使用するスケジューラを構成します。

      注意 : 一部のトランスポートには、ハートビートを処理するためのサポートが組み込まれているため、TaskScheduler は必要ありません。ただし、領収書は必要に応じて、TaskScheduler を構成する必要があります。

      デフォルトでは、これは設定されていません。

      また、defaultHeartbeat プロパティが現在 "0,0" に設定されている場合は、自動的に "10000,10000" に設定されます。

      オーバーライド:
      クラス StompClientSupportsetTaskScheduler 
    • setInboundMessageSizeLimit

      public void setInboundMessageSizeLimit(int inboundMessageSizeLimit)
      受信 STOMP メッセージに許可される最大サイズを構成します。STOMP メッセージは複数の WebSocket メッセージで受信される可能性があるため、バッファリングが必要になる場合があり、このプロパティはメッセージごとの最大バッファーサイズを決定します。

      デフォルトでは、64 * 1024(64K)に設定されています。

    • getInboundMessageSizeLimit

      public int getInboundMessageSizeLimit()
      構成された受信メッセージバッファーサイズをバイト単位で取得します。
    • setAutoStartup

      public void setAutoStartup(boolean autoStartup)
      Spring コンテキストがリフレッシュされたときに、含まれている WebSocketClient を自動起動するかどうかを設定します。

      デフォルトは「true」。

    • isAutoStartup

      public boolean isAutoStartup()
      'autoStartup' プロパティの値を返します。"true" の場合、このクライアントは含まれている WebSocketClient を自動的に開始および停止します。
      次で指定:
      インターフェース SmartLifecycleisAutoStartup 
      関連事項:
    • setPhase

      public void setPhase(int phase)
      WebSocket クライアントを開始し、その後閉じるフェーズを指定します。起動順序は最低から最高に進み、シャットダウン順序はその逆です。

      デフォルトでは、これは Integer.MAX_VALUE です。これは、WebSocket クライアントができるだけ遅く開始され、できるだけ早く停止されることを意味します。

    • getPhase

      public int getPhase()
      構成されたフェーズを返します。
      次で指定:
      インターフェース PhasedgetPhase 
      次で指定:
      インターフェース SmartLifecyclegetPhase 
      関連事項:
    • start

      public void start()
      インターフェースからコピーされた説明: Lifecycle
      このコンポーネントを起動します。

      コンポーネントがすでに実行されている場合は、例外をスローしないでください。

      コンテナーの場合、これは適用されるすべてのコンポーネントに開始信号を伝播します。

      次で指定:
      インターフェース Lifecyclestart 
      関連事項:
    • stop

      public void stop()
      インターフェースからコピーされた説明: Lifecycle
      このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycle とその stop(Runnable) バリアントの実装を検討してください。

      この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、Lifecycle Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止信号を事前に考慮することなく呼び出されます。

      コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。

      コンテナーの場合、これは停止信号を適用するすべてのコンポーネントに伝播します。

      次で指定:
      インターフェース Lifecyclestop 
      関連事項:
    • isRunning

      public boolean isRunning()
      インターフェースからコピーされた説明: Lifecycle
      このコンポーネントが現在実行されているかどうかを確認します。

      コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、true を返します。

      次で指定:
      インターフェース LifecycleisRunning 
      戻り値:
      コンポーネントが現在実行中かどうか
    • connect

      @DeprecatedSE(since="6.0") public ListenableFuture<StompSession> connect(StringSE url, StompSessionHandler handler, ObjectSE... uriVars)
      使用すべきではありません。
      所定の WebSocket URL に接続し、CONNECTED フレームを受信した後、STOMP レベルで接続されたときに所定の StompSessionHandler に通知します。
      パラメーター:
      url - 接続する URL
      handler - セッションハンドラー
      uriVars - URL に展開する URI 変数
      戻り値:
      使用準備が整ったときにセッションにアクセスするための ListenableFuture 
    • connectAsync

      public CompletableFutureSE<StompSession> connectAsync(StringSE url, StompSessionHandler handler, ObjectSE... uriVars)
      所定の WebSocket URL に接続し、CONNECTED フレームを受信した後、STOMP レベルで接続されたときに所定の StompSessionHandler に通知します。
      パラメーター:
      url - 接続する URL
      handler - セッションハンドラー
      uriVars - URL に展開する URI 変数
      戻り値:
      使用の準備ができたときにセッションにアクセスするための CompletableFuture
      導入:
      6.0
    • connect

      @DeprecatedSE(since="6.0") public ListenableFuture<StompSession> connect(StringSE url, @Nullable WebSocketHttpHeaders handshakeHeaders, StompSessionHandler handler, ObjectSE... uriVariables)
      使用すべきではありません。
      WebSocketHttpHeaders を受け入れて WebSocket ハンドシェイクに使用する connect(String, StompSessionHandler, Object...) のオーバーロードバージョン。
      パラメーター:
      url - 接続する URL
      handshakeHeaders - WebSocket ハンドシェイクのヘッダー
      handler - セッションハンドラー
      uriVariables - URL に展開する URI 変数
      戻り値:
      使用準備が整ったときにセッションにアクセスするための ListenableFuture 
    • connectAsync

      public CompletableFutureSE<StompSession> connectAsync(StringSE url, @Nullable WebSocketHttpHeaders handshakeHeaders, StompSessionHandler handler, ObjectSE... uriVariables)
      WebSocketHttpHeaders を受け入れて WebSocket ハンドシェイクに使用する connect(String, StompSessionHandler, Object...) のオーバーロードバージョン。
      パラメーター:
      url - 接続する URL
      handshakeHeaders - WebSocket ハンドシェイクのヘッダー
      handler - セッションハンドラー
      uriVariables - URL に展開する URI 変数
      戻り値:
      使用準備が整ったときにセッションにアクセスするための ListenableFuture 
      導入:
      6.0
    • connect

      @DeprecatedSE(since="6.0") public ListenableFuture<StompSession> connect(StringSE url, @Nullable WebSocketHttpHeaders handshakeHeaders, @Nullable StompHeaders connectHeaders, StompSessionHandler handler, ObjectSE... uriVariables)
      使用すべきではありません。
      connect(String, StompSessionHandler, Object...) のオーバーロードバージョン。WebSocketHttpHeaders を WebSocket ハンドシェイクに使用し、StompHeaders を STOMP CONNECT フレームに使用することもできます。
      パラメーター:
      url - 接続する URL
      handshakeHeaders - WebSocket ハンドシェイクのヘッダー
      connectHeaders - STOMP CONNECT フレームのヘッダー
      handler - セッションハンドラー
      uriVariables - URL に展開する URI 変数
      戻り値:
      使用準備が整ったときにセッションにアクセスするための ListenableFuture 
    • connectAsync

      public CompletableFutureSE<StompSession> connectAsync(StringSE url, @Nullable WebSocketHttpHeaders handshakeHeaders, @Nullable StompHeaders connectHeaders, StompSessionHandler handler, ObjectSE... uriVariables)
      connect(String, StompSessionHandler, Object...) のオーバーロードバージョン。WebSocketHttpHeaders を WebSocket ハンドシェイクに使用し、StompHeaders を STOMP CONNECT フレームに使用することもできます。
      パラメーター:
      url - 接続する URL
      handshakeHeaders - WebSocket ハンドシェイクのヘッダー
      connectHeaders - STOMP CONNECT フレームのヘッダー
      handler - セッションハンドラー
      uriVariables - URL に展開する URI 変数
      戻り値:
      使用の準備ができたときにセッションにアクセスするための CompletableFuture
      導入:
      6.0
    • connect

      @DeprecatedSE(since="6.0") public ListenableFuture<StompSession> connect(URISE url, @Nullable WebSocketHttpHeaders handshakeHeaders, @Nullable StompHeaders connectHeaders, StompSessionHandler sessionHandler)
      使用すべきではありません。
      完全に準備された URISE を受け入れるオーバーロードバージョンの connect(String, WebSocketHttpHeaders, StompSessionHandler, Object...)
      パラメーター:
      url - 接続する URL
      handshakeHeaders - WebSocket ハンドシェイクのヘッダー
      connectHeaders - STOMP CONNECT フレームのヘッダー
      sessionHandler - STOMP セッションハンドラー
      戻り値:
      使用準備が整ったときにセッションにアクセスするための ListenableFuture 
    • connectAsync

      public CompletableFutureSE<StompSession> connectAsync(URISE url, @Nullable WebSocketHttpHeaders handshakeHeaders, @Nullable StompHeaders connectHeaders, StompSessionHandler sessionHandler)
      完全に準備された URISE を受け入れるオーバーロードバージョンの connect(String, WebSocketHttpHeaders, StompSessionHandler, Object...)
      パラメーター:
      url - 接続する URL
      handshakeHeaders - WebSocket ハンドシェイクのヘッダー
      connectHeaders - STOMP CONNECT フレームのヘッダー
      sessionHandler - STOMP セッションハンドラー
      戻り値:
      使用の準備ができたときにセッションにアクセスするための CompletableFuture
      導入:
      6.0
    • processConnectHeaders

      protected StompHeaders processConnectHeaders(@Nullable StompHeaders connectHeaders)
      クラスからコピーされた説明: StompClientSupport
      StompHeaders をさらに初期化します。たとえば、必要に応じてハートビートヘッダーを設定します。
      オーバーライド:
      クラス StompClientSupportprocessConnectHeaders 
      パラメーター:
      connectHeaders - 変更するヘッダー
      戻り値:
      変更されたヘッダー