クラス SockJsServiceRegistration
EnableWebSocket
および WebSocketConfigurer
セットアップで使用する SockJS フォールバックオプションを構成するためのヘルパークラス。- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明protected SockJsService
protected TaskScheduler
構成されている場合は、TaskScheduler を返します。protected SockJsServiceRegistration
setAllowedOriginPatterns
(StringSE... allowedOriginPatterns) 許可されるOrigin
パターンヘッダー値を構成します。protected SockJsServiceRegistration
setAllowedOrigins
(StringSE... allowedOrigins) 許可されたOrigin
ヘッダー値を構成します。setClientLibraryUrl
(StringSE clientLibraryUrl) ネイティブのクロスドメイン通信のないトランスポート (たとえば、"eventsource"、"htmlfile" ) は、iframe
のコードが SockJS サーバーのローカルドメインから実行できるように、非表示のiframe
の「外部」ドメインから単純なページを取得する必要があります。setDisconnectDelay
(long disconnectDelay) 受信接続がない後、クライアントが切断されたと見なされるまでの時間(ミリ秒単位)。setHeartbeatTime
(long heartbeatTime) サーバーがメッセージを送信せず、接続が切断されないようにするためにサーバーがクライアントにハートビートフレームを送信するまでのミリ秒単位の時間。setHttpMessageCacheSize
(int httpMessageCacheSize) クライアントからの次の HTTP ポーリングリクエストを待つ間にセッションがキャッシュできるサーバーからクライアントへのメッセージの数。setInterceptors
(HandshakeInterceptor... interceptors) SockJS メッセージのエンコードとデコードに使用するコーデック。setSessionCookieNeeded
(boolean sessionCookieNeeded) SockJS プロトコルでは、サーバーは、負荷分散や、HTTP セッションの使用のための Java サーブレットコンテナーなど、アプリケーションが正しく機能するために JSESSIONID Cookie の使用が必要かどうかを示す "cookie_needed" ブールプロパティを使用して、クライアントからの最初の "/info" リクエストに応答する必要があります。setStreamBytesLimit
(int streamBytesLimit) ストリーミングトランスポートはクライアント側のレスポンスを保存し、配信されたメッセージが使用していたメモリを解放しません。setSuppressCors
(boolean suppressCors) このオプションを使用して、SockJS リクエストの CORS ヘッダーの自動追加を無効にすることができます。setTaskScheduler
(TaskScheduler scheduler) SockJS ハートビートのスケジュールに使用するスケジューラインスタンス。setTransportHandlerOverrides
(TransportHandler... handlers) setTransportHandlers
(TransportHandler... handlers) setWebSocketEnabled
(boolean webSocketEnabled) 一部のロードバランサーは WebSocket をサポートしていません。
コンストラクターの詳細
SockJsServiceRegistration
public SockJsServiceRegistration()
メソッドの詳細
setTaskScheduler
SockJS ハートビートのスケジュールに使用するスケジューラインスタンス。setClientLibraryUrl
ネイティブのクロスドメイン通信のないトランスポート (たとえば、"eventsource"、"htmlfile" ) は、iframe
のコードが SockJS サーバーのローカルドメインから実行できるように、非表示のiframe
の「外部」ドメインから単純なページを取得する必要があります。iframe
は SockJS JavaScript クライアントライブラリをロードする必要があるため、このプロパティを使用して、ロード元を指定できます。デフォルトでは、これは "https://cdn.jsdelivr.net/sockjs/1.0.0/sockjs.min.js" を指すように設定されています。ただし、アプリケーションによって提供される URL を指すように設定することもできます。
相対 URL を指定できることに注意してください。その場合、URL は
iframe
URL に対して相対的でなければなりません。たとえば、SockJS エンドポイントが "/sockjs" にマッピングされ、結果としてiframe
URL "/sockjs/iframe.html" が生成されると仮定すると、相対 URL は "../../" で始まり、SockJS マッピングの上の場所までトラバースする必要があります。プレフィックスベースのサーブレットマッピングの場合、もう 1 つのトラバーサルが必要になる場合があります。setStreamBytesLimit
ストリーミングトランスポートはクライアント側のレスポンスを保存し、配信されたメッセージが使用していたメモリを解放しません。そのようなトランスポートは、時々接続をリサイクルする必要があります。このプロパティは、1 つの HTTP ストリーミングリクエストで送信される最小バイト数を設定してから、それをクローズします。その後、クライアントは新しいリクエストを開きます。この値を 1 に設定すると、ストリーミングが実質的に無効になり、ストリーミングトランスポートがポーリングトランスポートのように動作します。デフォルト値は 128K です(128 * 1024 など)。
setSessionCookieNeeded
SockJS プロトコルでは、サーバーは、負荷分散や、HTTP セッションの使用のための Java サーブレットコンテナーなど、アプリケーションが正しく機能するために JSESSIONID Cookie の使用が必要かどうかを示す "cookie_needed" ブールプロパティを使用して、クライアントからの最初の "/info" リクエストに応答する必要があります。これは、XDomainRequest(変更された AJAX/XHR)をサポートする IE 8,9 で特に重要です。これは、ドメイン間でリクエストを実行できますが、Cookie を送信しません。これらの場合、SockJS クライアントは、Cookie を送信できるようにするために、"xdr-streaming" よりも "iframe-htmlfile" トランスポートを優先します。
デフォルト値は "true" で、Cookie(および特に JSESSIONID Cookie)をサポートする IE 8,9 でアプリケーションが正しく機能する可能性を最大化します。ただし、Cookie(および HTTP セッション)の使用が不要な場合、アプリケーションはこれを "false" に設定することを選択できます。
setHeartbeatTime
サーバーがメッセージを送信せず、接続が切断されないようにするためにサーバーがクライアントにハートビートフレームを送信するまでのミリ秒単位の時間。デフォルト値は 25,000 (25 秒です)。
setDisconnectDelay
受信接続(つまり、サーバーがクライアントにデータを送信できるアクティブな接続)がない場合に、クライアントが切断されたと見なされるまでのミリ秒単位の時間。デフォルト値は 5000 です。
setHttpMessageCacheSize
クライアントからの次の HTTP ポーリングリクエストを待つ間にセッションがキャッシュできるサーバーからクライアントへのメッセージの数。ストリーミングトランスポートでも HTTP リクエストを定期的にリサイクルするため、すべての HTTP トランスポートはこのプロパティを使用します。HTTP リクエスト間の時間は比較的短く、切断の許可遅延(
setDisconnectDelay(long)
を参照)を超えないようにする必要があります。デフォルトでは 5 秒です。デフォルトのサイズは 100 です。
setWebSocketEnabled
一部のロードバランサーは WebSocket をサポートしていません。このオプションは、サーバー側で WebSocket トランスポートを無効にするために使用できます。デフォルト値は "true" です。
setTransportHandlers
setTransportHandlerOverrides
setInterceptors
setAllowedOrigins
許可されたOrigin
ヘッダー値を構成します。- 導入:
- 4.1.2
setAllowedOriginPatterns
許可されるOrigin
パターンヘッダー値を構成します。- 導入:
- 5.3.2
setSuppressCors
このオプションを使用して、SockJS リクエストの CORS ヘッダーの自動追加を無効にすることができます。デフォルト値は "false" です。
- 導入:
- 5.3.23
setMessageCodec
SockJS メッセージのエンコードとデコードに使用するコーデック。デフォルトでは、
Jackson2SockJsMessageCodec
が使用され、Jackson ライブラリがクラスパスに存在する必要があります。- パラメーター:
codec
- 使用するコーデック。- 導入:
- 4.1
getSockJsService
getTaskScheduler
構成されている場合は、TaskScheduler を返します。