public class WebSocketStompClient extends StompClientSupport implements SmartLifecycle
SockJsClient
を含む WebSocketClient
の実装を使用して接続する SZMP over WebSocket クライアント。DEFAULT_PHASE
コンストラクターと説明 |
---|
WebSocketStompClient(WebSocketClient webSocketClient) クラスコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
ListenableFuture<StompSession> | connect(StringSE url, StompSessionHandler handler, ObjectSE... uriVars) 所定の WebSocket URL に接続し、CONNECTED フレームを受信した後、STOMP レベルで接続されたときに所定の StompSessionHandler に通知します。 |
ListenableFuture<StompSession> | connect(StringSE url, WebSocketHttpHeaders handshakeHeaders, StompHeaders connectHeaders, StompSessionHandler handler, ObjectSE... uriVariables) connect(String, StompSessionHandler, Object...) のオーバーロードバージョン。WebSocketHttpHeaders を WebSocket ハンドシェイクに使用し、StompHeaders を STOMP CONNECT フレームに使用することもできます。 |
ListenableFuture<StompSession> | connect(StringSE url, WebSocketHttpHeaders handshakeHeaders, StompSessionHandler handler, ObjectSE... uriVariables) WebSocketHttpHeaders を受け入れて WebSocket ハンドシェイクに使用する connect(String, StompSessionHandler, Object...) のオーバーロードバージョン。 |
ListenableFuture<StompSession> | connect(URISE url, WebSocketHttpHeaders handshakeHeaders, StompHeaders connectHeaders, StompSessionHandler sessionHandler) 完全に準備された URI SE を受け入れるオーバーロードバージョンの connect(String, WebSocketHttpHeaders, StompSessionHandler, Object...) 。 |
int | getInboundMessageSizeLimit() 構成された受信メッセージバッファーサイズをバイト単位で取得します。 |
int | getPhase() 構成されたフェーズを返します。 |
WebSocketClient | getWebSocketClient() 設定された WebSocketClient を返します。 |
boolean | isAutoStartup() 'autoStartup' プロパティの値を返します。 |
boolean | isRunning() このコンポーネントが現在実行されているかどうかを確認します。 |
protected StompHeaders | processConnectHeaders(StompHeaders connectHeaders) StompHeaders をさらに初期化します。たとえば、必要に応じてハートビートヘッダーを設定します。 |
void | setAutoStartup(boolean autoStartup) Spring コンテキストがリフレッシュされたときに、含まれている WebSocketClient を自動起動するかどうかを設定します。 |
void | setInboundMessageSizeLimit(int inboundMessageSizeLimit) 受信 STOMP メッセージに許可される最大サイズを構成します。 |
void | setPhase(int phase) WebSocket クライアントを開始し、その後閉じるフェーズを指定します。 |
void | setTaskScheduler(TaskScheduler taskScheduler) ハートビートと受信追跡に使用するスケジューラを構成します。 |
void | start() このコンポーネントを起動します。 |
void | stop() このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。 |
createSession, getDefaultHeartbeat, getMessageConverter, getReceiptTimeLimit, getTaskScheduler, isDefaultHeartbeatEnabled, setDefaultHeartbeat, setMessageConverter, setReceiptTimeLimit
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
stop
public WebSocketStompClient(WebSocketClient webSocketClient)
StompClientSupport.setDefaultHeartbeat(long[])
を "0,0" に設定しますが、setTaskScheduler(org.springframework.scheduling.TaskScheduler)
が構成されている場合は、優先 10000,10000 にリセットします。webSocketClient
- 接続する WebSocket クライアント public WebSocketClient getWebSocketClient()
public void setTaskScheduler(@Nullable TaskScheduler taskScheduler)
注意 : 一部のトランスポートには、ハートビートを処理するためのサポートが組み込まれているため、TaskScheduler は必要ありません。ただし、領収書は必要に応じて、TaskScheduler を構成する必要があります。
デフォルトでは、これは設定されていません。
また、defaultHeartbeat
プロパティが現在 "0,0" に設定されている場合は、自動的に "10000,10000" に設定されます。
StompClientSupport
の setTaskScheduler
public void setInboundMessageSizeLimit(int inboundMessageSizeLimit)
デフォルトでは、64 * 1024(64K)に設定されています。
public int getInboundMessageSizeLimit()
public void setAutoStartup(boolean autoStartup)
デフォルトは「true」。
public boolean isAutoStartup()
public void setPhase(int phase)
デフォルトでは、これは Integer.MAX_VALUE です。これは、WebSocket クライアントができるだけ遅く開始され、できるだけ早く停止されることを意味します。
public int getPhase()
Phased
の getPhase
SmartLifecycle
の getPhase
SmartLifecycle.isAutoStartup()
, Lifecycle.start()
, SmartLifecycle.stop(Runnable)
, DefaultLifecycleProcessor.getPhase(Lifecycle)
public void start()
Lifecycle
コンポーネントがすでに実行されている場合は、例外をスローしないでください。
コンテナーの場合、これは適用されるすべてのコンポーネントに開始シグナルを伝播します。
Lifecycle
の start
SmartLifecycle.isAutoStartup()
public void stop()
Lifecycle
SmartLifecycle
とその stop(Runnable)
バリアントの実装を検討してください。 この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、Lifecycle
Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。
コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
Lifecycle
の stop
SmartLifecycle.stop(Runnable)
, DisposableBean.destroy()
public boolean isRunning()
Lifecycle
コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、true
を返します。
public ListenableFuture<StompSession> connect(StringSE url, StompSessionHandler handler, ObjectSE... uriVars)
StompSessionHandler
に通知します。url
- 接続する URLhandler
- セッションハンドラー uriVars
- URL に展開する URI 変数 public ListenableFuture<StompSession> connect(StringSE url, @Nullable WebSocketHttpHeaders handshakeHeaders, StompSessionHandler handler, ObjectSE... uriVariables)
WebSocketHttpHeaders
を受け入れて WebSocket ハンドシェイクに使用する connect(String, StompSessionHandler, Object...)
のオーバーロードバージョン。url
- 接続する URLhandshakeHeaders
- WebSocket ハンドシェイクのヘッダー handler
- セッションハンドラー uriVariables
- URL に展開する URI 変数 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
- 接続する URLhandshakeHeaders
- WebSocket ハンドシェイクのヘッダー connectHeaders
- STOMP CONNECT フレームのヘッダー handler
- セッションハンドラー uriVariables
- URL に展開する URI 変数 public ListenableFuture<StompSession> connect(URISE url, @Nullable WebSocketHttpHeaders handshakeHeaders, @Nullable StompHeaders connectHeaders, StompSessionHandler sessionHandler)
URI
SE を受け入れるオーバーロードバージョンの connect(String, WebSocketHttpHeaders, StompSessionHandler, Object...)
。url
- 接続する URLhandshakeHeaders
- WebSocket ハンドシェイクのヘッダー connectHeaders
- STOMP CONNECT フレームのヘッダー sessionHandler
- STOMP セッションハンドラー protected StompHeaders processConnectHeaders(@Nullable StompHeaders connectHeaders)
StompClientSupport
StompClientSupport
の processConnectHeaders
connectHeaders
- 変更するヘッダー