public class TransportHandlingSockJsService extends AbstractSockJsService implements SockJsServiceConfig, Lifecycle
SockJsService
の基本的な実装。TransportHandler
SPI に基づいています。TransportHandlers
は、SockJsSessionFactory
および HandshakeHandler
インターフェースをさらに実装できます。
リクエストマッピングの重要な詳細については、AbstractSockJsService
基本クラスを参照してください。
corsConfiguration, logger
コンストラクターと説明 |
---|
TransportHandlingSockJsService(TaskScheduler scheduler, CollectionSE<TransportHandler> handlers) 指定された handler 型で TransportHandlingSockJsService を作成します。 |
TransportHandlingSockJsService(TaskScheduler scheduler, TransportHandler... handlers) 指定された handler 型で TransportHandlingSockJsService を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
ListSE<HandshakeInterceptor> | getHandshakeInterceptors() 構成された WebSocket ハンドシェイクリクエストインターセプターを返します。 |
SockJsMessageCodec | getMessageCodec() SockJS メッセージのエンコードとデコードに使用するコーデック。 |
MapSE<TransportType, TransportHandler> | getTransportHandlers() トランスポート型ごとに登録済みハンドラーを返します。 |
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 | isRunning() このコンポーネントが現在実行されているかどうかを確認します。 |
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) |
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
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
getHeartbeatTime, getHttpMessageCacheSize, getStreamBytesLimit, getTaskScheduler
public TransportHandlingSockJsService(TaskScheduler scheduler, TransportHandler... handlers)
handler
型で TransportHandlingSockJsService を作成します。scheduler
- ハートビートメッセージのタスクスケジューラとタイムアウトしたセッションの削除。提供された TaskScheduler は、Spring Bean として宣言して、起動時に初期化され、アプリケーションが停止するとシャットダウンするようにする必要があります。handlers
- 使用する 1 つ以上の TransportHandler
実装 public TransportHandlingSockJsService(TaskScheduler scheduler, CollectionSE<TransportHandler> handlers)
handler
型で TransportHandlingSockJsService を作成します。scheduler
- ハートビートメッセージのタスクスケジューラとタイムアウトしたセッションの削除。提供された TaskScheduler は、Spring Bean として宣言して、起動時に初期化され、アプリケーションが停止するとシャットダウンするようにする必要があります。handlers
- 使用する 1 つ以上の TransportHandler
実装 public MapSE<TransportType,TransportHandler> getTransportHandlers()
public void setMessageCodec(SockJsMessageCodec messageCodec)
public SockJsMessageCodec getMessageCodec()
SockJsServiceConfig
SockJsServiceConfig
の getMessageCodec
public void setHandshakeInterceptors(@Nullable ListSE<HandshakeInterceptor> interceptors)
public ListSE<HandshakeInterceptor> getHandshakeInterceptors()
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
を返します。
protected void handleRawWebSocketRequest(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler handler) throws IOExceptionSE
AbstractSockJsService
AbstractSockJsService
の handleRawWebSocketRequest
IOExceptionSE
protected void handleTransportRequest(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler handler, StringSE sessionId, StringSE transport) throws SockJsException
AbstractSockJsService
AbstractSockJsService
の handleTransportRequest
SockJsException
protected boolean validateRequest(StringSE serverId, StringSE sessionId, StringSE transport)
AbstractSockJsService
の validateRequest