public class HandshakeWebSocketService extends ObjectSE implements WebSocketService, Lifecycle
RequestUpgradeStrategy
に委譲することにより WebSocket HTTP ハンドシェイクリクエストを処理する WebSocketService
実装。明示的に構成することもできます。コンストラクターと説明 |
---|
HandshakeWebSocketService() 使用する RequestUpgradeStrategy のデフォルトコンストラクター自動、クラスパス検出ベースのディスカバリ。 |
HandshakeWebSocketService(RequestUpgradeStrategy upgradeStrategy) RequestUpgradeStrategy を使用する代替コンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
protected void | doStart() |
protected void | doStop() |
PredicateSE<StringSE> | getSessionAttributePredicate() WebSession 属性から初期化 WebSocket セッション属性用に構成された述語を返します。 |
RequestUpgradeStrategy | getUpgradeStrategy() WebSocket リクエストに対して RequestUpgradeStrategy を返します。 |
reactor.core.publisher.Mono<VoidSE> | handleRequest(ServerWebExchange exchange, WebSocketHandler handler) 指定された WebSocketHandler でリクエストを処理します。 |
boolean | isRunning() このコンポーネントが現在実行されているかどうかを確認します。 |
void | setSessionAttributePredicate(PredicateSE<StringSE> predicate) WebSession 属性の抽出に使用する述語を構成し、使用して WebSocket セッションを初期化します。 |
void | start() このコンポーネントを起動します。 |
void | stop() このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected static final Log logger
public HandshakeWebSocketService()
RequestUpgradeStrategy
のデフォルトコンストラクター自動、クラスパス検出ベースのディスカバリ。public HandshakeWebSocketService(RequestUpgradeStrategy upgradeStrategy)
RequestUpgradeStrategy
を使用する代替コンストラクター。upgradeStrategy
- 使用する戦略 public RequestUpgradeStrategy getUpgradeStrategy()
RequestUpgradeStrategy
を返します。public void setSessionAttributePredicate(@Nullable PredicateSE<StringSE> predicate)
WebSession
属性の抽出に使用する述語を構成し、使用して WebSocket セッションを初期化します。デフォルトでは、これは設定されていません。この場合、属性は渡されません。
predicate
- 述語 @Nullable public PredicateSE<StringSE> getSessionAttributePredicate()
WebSession
属性から初期化 WebSocket セッション属性用に構成された述語を返します。public void start()
Lifecycle
コンポーネントがすでに実行されている場合は、例外をスローしないでください。
コンテナーの場合、これは適用されるすべてのコンポーネントに開始信号を伝播します。
Lifecycle
の start
SmartLifecycle.isAutoStartup()
protected void doStart()
public void stop()
Lifecycle
SmartLifecycle
とその stop(Runnable)
バリアントの実装を検討してください。 この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、Lifecycle
Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止信号を事前に考慮することなく呼び出されます。
コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止信号を適用するすべてのコンポーネントに伝播します。
Lifecycle
の stop
SmartLifecycle.stop(Runnable)
, DisposableBean.destroy()
protected void doStop()
public boolean isRunning()
Lifecycle
コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、true
を返します。
public reactor.core.publisher.Mono<VoidSE> handleRequest(ServerWebExchange exchange, WebSocketHandler handler)
WebSocketService
WebSocketHandler
でリクエストを処理します。WebSocketService
の handleRequest
exchange
- 現在の交換 handler
- WebSocket セッションのハンドラー Mono<Void>
。