クラス ConnectionManagerSupport
java.lang.ObjectSE
org.springframework.web.socket.client.ConnectionManagerSupport
- 実装されたすべてのインターフェース:
Lifecycle
、Phased
、SmartLifecycle
Spring ApplicationContext ライフサイクルを使用して WebSocket サーバーに接続するプロセスを自動化する接続マネージャーの基本クラス。
start()
で WebSocket サーバーに接続し、stop()
で切断します。setAutoStartup(boolean)
が true
に設定されている場合、これは Spring ApplicationContext
がリフレッシュされるときに自動的に行われます。- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev
フィールドサマリー
インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASE
コンストラクターのサマリー
コンストラクター説明ConnectionManagerSupport
(StringSE uriTemplate, ObjectSE... uriVariables) URI テンプレートと変数を持つコンストラクター。準備されたURI
SE を持つコンストラクター。メソッドのサマリー
修飾子と型メソッド説明protected abstract void
サブクラスはこれを実装して接続を閉じます。int
getPhase()
このエンドポイント接続ファクトリが自動接続されて停止するフェーズを返します。protected URISE
getUri()
boolean
'autoStartup' プロパティの値を返します。abstract boolean
接続が開いている /true
か閉じている /false
か。boolean
この ConnectionManager が起動しているかどうかを返します。protected abstract void
サブクラスはこれを実装して、実際に接続を確立します。void
setAutoStartup
(boolean autoStartup) この接続マネージャーが初期化され、Spring コンテキストがリフレッシュされた後、リモートエンドポイントに自動接続するかどうかを設定します。void
setPhase
(int phase) リモートエンドポイントへの接続を確立し、その後閉じる必要があるフェーズを指定します。final void
start()
WebSocket 接続を開始します。protected void
final void
stop()
このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。final void
stop
(RunnableSE callback) Lifecycle コンポーネントが現在実行中の場合、停止する必要があることを示します。protected void
フィールドの詳細
logger
コンストラクターの詳細
ConnectionManagerSupport
URI テンプレートと変数を持つコンストラクター。ConnectionManagerSupport
準備されたURI
SE を持つコンストラクター。- パラメーター:
uri
- 接続する URL- 導入:
- 6.0.5
メソッドの詳細
getUri
setAutoStartup
public void setAutoStartup(boolean autoStartup) この接続マネージャーが初期化され、Spring コンテキストがリフレッシュされた後、リモートエンドポイントに自動接続するかどうかを設定します。デフォルトは「false」。
isAutoStartup
public boolean isAutoStartup()'autoStartup' プロパティの値を返します。"true" の場合、このエンドポイント接続マネージャーは ContextRefreshedEvent で リモートエンドポイントに接続します。setPhase
public void setPhase(int phase) リモートエンドポイントへの接続を確立し、その後閉じる必要があるフェーズを指定します。起動順序は最低から最高に進み、シャットダウン順序はその逆になります。デフォルトでは、この値は Integer.MAX_VALUE です。これは、このエンドポイント接続ファクトリができるだけ遅く接続し、できるだけ早く閉じられることを意味します。getPhase
public int getPhase()このエンドポイント接続ファクトリが自動接続されて停止するフェーズを返します。- 次で指定:
- インターフェース
Phased
のgetPhase
- 次で指定:
- インターフェース
SmartLifecycle
のgetPhase
- 関連事項:
start
public final void start()WebSocket 接続を開始します。すでに接続されている場合、メソッドは影響を与えません。startInternal
protected void startInternal()stop
public final void stop()インターフェースからコピーされた説明:Lifecycle
このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycle
とそのstop(Runnable)
バリアントの実装を検討してください。この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、
Lifecycle
Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
stop
インターフェースからコピーされた説明:SmartLifecycle
Lifecycle コンポーネントが現在実行中の場合、停止する必要があることを示します。提供されたコールバックは、
LifecycleProcessor
によって使用され、共通のシャットダウン順序値を持つすべてのコンポーネントの順序付けられた、潜在的に同時のシャットダウンをサポートします。コールバック は、SmartLifecycle
コンポーネントが実際に停止した後に実行する必要があります。LifecycleProcessor
は、stop
メソッドのこのバリアントのみを呼び出します。つまり、SmartLifecycle
実装では、このメソッドの実装内に明示的に委譲されない限り、Lifecycle.stop()
は呼び出されません。デフォルトの実装は
Lifecycle.stop()
に委譲し、呼び出しスレッドで指定されたコールバックをすぐにトリガーします。2 つの間に同期がないことに注意してください。カスタム実装では、少なくとも共通のライフサイクルモニター(存在する場合)内に同じ手順を入れたい場合があります。- 次で指定:
- インターフェース
SmartLifecycle
のstop
- 関連事項:
stopInternal
- 例外:
ExceptionSE
isRunning
public boolean isRunning()この ConnectionManager が起動しているかどうかを返します。isConnected
public abstract boolean isConnected()接続が開いている /true
か閉じている /false
か。openConnection
protected abstract void openConnection()サブクラスはこれを実装して、実際に接続を確立します。closeConnection
サブクラスはこれを実装して接続を閉じます。- 例外:
ExceptionSE