クラス TransportHandlingSockJsService
java.lang.ObjectSE
org.springframework.web.socket.sockjs.support.AbstractSockJsService
org.springframework.web.socket.sockjs.transport.TransportHandlingSockJsService
- 実装されたすべてのインターフェース:
Lifecycle
、CorsConfigurationSource
、SockJsService
、SockJsServiceConfig
- 既知の直属サブクラス
DefaultSockJsService
public class TransportHandlingSockJsService
extends AbstractSockJsService
implements SockJsServiceConfig, Lifecycle
SPI ベースのトランスポート処理とセッション管理をサポートする
SockJsService
の基本的な実装。TransportHandler
SPI に基づいています。TransportHandlers
は、SockJsSessionFactory
および HandshakeHandler
インターフェースをさらに実装できます。
リクエストマッピングの重要な詳細については、AbstractSockJsService
基本クラスを参照してください。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
フィールドサマリー
クラス org.springframework.web.socket.sockjs.support.AbstractSockJsService から継承されたフィールド
corsConfiguration, logger
コンストラクターのサマリー
コンストラクターコンストラクター説明TransportHandlingSockJsService
(TaskScheduler scheduler, CollectionSE<TransportHandler> handlers) 指定されたhandler
型で TransportHandlingSockJsService を作成します。TransportHandlingSockJsService
(TaskScheduler scheduler, TransportHandler... handlers) 指定されたhandler
型で TransportHandlingSockJsService を作成します。メソッドのサマリー
修飾子と型メソッド説明構成された WebSocket ハンドシェイクリクエストインターセプターを返します。SockJS メッセージのエンコードとデコードに使用するコーデック。トランスポート型ごとに登録済みハンドラーを返します。protected void
handleRawWebSocketRequest
(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler handler) 生の WebSocket 通信のリクエストを処理します。protected void
handleTransportRequest
(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler handler, StringSE sessionId, StringSE transport) SockJS セッション URL を処理します(つまりboolean
このコンポーネントが現在実行されているかどうかを確認します。void
setHandshakeInterceptors
(ListSE<HandshakeInterceptor> interceptors) 1 つ以上の WebSocket ハンドシェイクリクエストインターセプターを構成します。void
setMessageCodec
(SockJsMessageCodec messageCodec) SockJS メッセージのエンコードとデコードに使用するコーデック。void
start()
このコンポーネントを起動します。void
stop()
このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。protected boolean
validateRequest
(StringSE serverId, StringSE sessionId, StringSE transport) クラス org.springframework.web.socket.sockjs.support.AbstractSockJsService から継承されたメソッド
addCacheHeaders, addNoCacheHeaders, checkOrigin, getAllowedOriginPatterns, getAllowedOrigins, getCorsConfiguration, getDisconnectDelay, getHeartbeatTime, getHttpMessageCacheSize, getName, getSockJsClientLibraryUrl, getStreamBytesLimit, getTaskScheduler, handleRequest, isSessionCookieNeeded, isWebSocketEnabled, sendMethodNotAllowed, setAllowedOriginPatterns, setAllowedOrigins, setDisconnectDelay, setHeartbeatTime, setHttpMessageCacheSize, setName, setSessionCookieNeeded, setSockJsClientLibraryUrl, setStreamBytesLimit, setSuppressCors, setWebSocketEnabled, shouldSuppressCors
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.web.socket.sockjs.transport.SockJsServiceConfig から継承されたメソッド
getHeartbeatTime, getHttpMessageCacheSize, getStreamBytesLimit, getTaskScheduler
コンストラクターの詳細
TransportHandlingSockJsService
指定されたhandler
型で TransportHandlingSockJsService を作成します。- パラメーター:
scheduler
- ハートビートメッセージのタスクスケジューラとタイムアウトしたセッションの削除。提供された TaskScheduler は、Spring Bean として宣言して、起動時に初期化され、アプリケーションが停止するとシャットダウンするようにする必要があります。handlers
- 使用する 1 つ以上のTransportHandler
実装
TransportHandlingSockJsService
public TransportHandlingSockJsService(TaskScheduler scheduler, CollectionSE<TransportHandler> handlers) 指定されたhandler
型で TransportHandlingSockJsService を作成します。- パラメーター:
scheduler
- ハートビートメッセージのタスクスケジューラとタイムアウトしたセッションの削除。提供された TaskScheduler は、Spring Bean として宣言して、起動時に初期化され、アプリケーションが停止するとシャットダウンするようにする必要があります。handlers
- 使用する 1 つ以上のTransportHandler
実装
メソッドの詳細
getTransportHandlers
トランスポート型ごとに登録済みハンドラーを返します。setMessageCodec
SockJS メッセージのエンコードとデコードに使用するコーデック。getMessageCodec
インターフェースからコピーされた説明:SockJsServiceConfig
SockJS メッセージのエンコードとデコードに使用するコーデック。- 次で指定:
- インターフェース
SockJsServiceConfig
のgetMessageCodec
setHandshakeInterceptors
1 つ以上の WebSocket ハンドシェイクリクエストインターセプターを構成します。getHandshakeInterceptors
構成された WebSocket ハンドシェイクリクエストインターセプターを返します。start
public void start()インターフェースからコピーされた説明:Lifecycle
このコンポーネントを起動します。コンポーネントがすでに実行されている場合は、例外をスローしないでください。
コンテナーの場合、これは適用されるすべてのコンポーネントに開始シグナルを伝播します。
stop
public void stop()インターフェースからコピーされた説明:Lifecycle
このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycle
とそのstop(Runnable)
バリアントの実装を検討してください。この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、
Lifecycle
Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
isRunning
public boolean isRunning()インターフェースからコピーされた説明:Lifecycle
このコンポーネントが現在実行されているかどうかを確認します。コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、
true
を返します。handleRawWebSocketRequest
protected void handleRawWebSocketRequest(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler handler) throws IOExceptionSE クラスからコピーされた説明:AbstractSockJsService
生の WebSocket 通信のリクエストを処理します。つまり、SockJS メッセージフレーミングを使用しません。- 次で指定:
- クラス
AbstractSockJsService
のhandleRawWebSocketRequest
- 例外:
IOExceptionSE
handleTransportRequest
protected void handleTransportRequest(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler handler, StringSE sessionId, StringSE transport) throws SockJsException クラスからコピーされた説明:AbstractSockJsService
SockJS セッション URL(つまり、トランスポート固有のリクエスト)を処理します。- 次で指定:
- クラス
AbstractSockJsService
のhandleTransportRequest
- 例外:
SockJsException
validateRequest
- オーバーライド:
- クラス
AbstractSockJsService
のvalidateRequest