クラス SockJsServiceRegistration

java.lang.ObjectSE
org.springframework.web.socket.config.annotation.SockJsServiceRegistration

public class SockJsServiceRegistration extends ObjectSE
EnableWebSocket および WebSocketConfigurer セットアップで使用する SockJS フォールバックオプションを構成するためのヘルパークラス。
導入:
4.0
作成者:
Rossen Stoyanchev
  • コンストラクターの詳細

    • SockJsServiceRegistration

      public SockJsServiceRegistration()
  • メソッドの詳細

    • setTaskScheduler

      public SockJsServiceRegistration setTaskScheduler(TaskScheduler scheduler)
      SockJS ハートビートのスケジュールに使用するスケジューラインスタンス。
    • setClientLibraryUrl

      public SockJsServiceRegistration setClientLibraryUrl(StringSE clientLibraryUrl)
      ネイティブのクロスドメイン通信を持たないトランスポート (例: "eventsource" ,"htmlfile" ) は、非表示の iframe の " 外部 " ドメインから単純なページを取得して、iframe のコードが SockJS サーバーに対してローカルなドメインから実行できるようにする必要があります。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

      public SockJsServiceRegistration setStreamBytesLimit(int streamBytesLimit)
      ストリーミングトランスポートはクライアント側のレスポンスを保存し、配信されたメッセージが使用していたメモリを解放しません。そのようなトランスポートは、時々接続をリサイクルする必要があります。このプロパティは、1 つの HTTP ストリーミングリクエストで送信される最小バイト数を設定してから、それをクローズします。その後、クライアントは新しいリクエストを開きます。この値を 1 に設定すると、ストリーミングが実質的に無効になり、ストリーミングトランスポートがポーリングトランスポートのように動作します。

      デフォルト値は 128K です(128 * 1024 など)。

    • setSessionCookieNeeded

      public SockJsServiceRegistration setSessionCookieNeeded(boolean sessionCookieNeeded)
      SockJS プロトコルでは、サーバーがクライアントからの最初の "/info" リクエストに、アプリケーションが正しく機能するために JSESSIONIDCookie の使用が必要かどうかを示す "cookie_needed" ブールプロパティで応答する必要があります。負荷分散用、または HTTP セッションを使用するための Java サーブレットコンテナー内。

      これは、XDomainRequest(変更された AJAX/XHR)をサポートする IE 8,9 で特に重要です。これは、ドメイン間でリクエストを実行できますが、Cookie を送信しません。これらの場合、SockJS クライアントは、Cookie を送信できるようにするために、"xdr-streaming" よりも "iframe-htmlfile" トランスポートを優先します。

      デフォルト値は "true" で、Cookie(および特に JSESSIONID Cookie)をサポートする IE 8,9 でアプリケーションが正しく機能する可能性を最大化します。ただし、Cookie(および HTTP セッション)の使用が不要な場合、アプリケーションはこれを "false" に設定することを選択できます。

    • setHeartbeatTime

      public SockJsServiceRegistration setHeartbeatTime(long heartbeatTime)
      サーバーがメッセージを送信せず、接続が切断されないようにするためにサーバーがクライアントにハートビートフレームを送信するまでのミリ秒単位の時間。

      デフォルト値は 25,000 (25 秒です)。

    • setDisconnectDelay

      public SockJsServiceRegistration setDisconnectDelay(long disconnectDelay)
      受信接続(つまり、サーバーがクライアントにデータを送信できるアクティブな接続)がない場合に、クライアントが切断されたと見なされるまでのミリ秒単位の時間。

      デフォルト値は 5000 です。

    • setHttpMessageCacheSize

      public SockJsServiceRegistration setHttpMessageCacheSize(int httpMessageCacheSize)
      クライアントからの次の HTTP ポーリングリクエストを待つ間にセッションがキャッシュできるサーバーからクライアントへのメッセージの数。ストリーミングトランスポートでも HTTP リクエストを定期的にリサイクルするため、すべての HTTP トランスポートはこのプロパティを使用します。

      HTTP リクエスト間の時間は比較的短く、切断の許可遅延(setDisconnectDelay(long) を参照)を超えないようにする必要があります。デフォルトでは 5 秒です。

      デフォルトのサイズは 100 です。

    • setWebSocketEnabled

      public SockJsServiceRegistration setWebSocketEnabled(boolean webSocketEnabled)
      一部のロードバランサーは WebSocket をサポートしていません。このオプションは、サーバー側で WebSocket トランスポートを無効にするために使用できます。

      デフォルト値は "true" です。

    • setTransportHandlers

      public SockJsServiceRegistration setTransportHandlers(TransportHandler... handlers)
    • setTransportHandlerOverrides

      public SockJsServiceRegistration setTransportHandlerOverrides(TransportHandler... handlers)
    • setInterceptors

      public SockJsServiceRegistration setInterceptors(HandshakeInterceptor... interceptors)
    • setAllowedOrigins

      protected SockJsServiceRegistration setAllowedOrigins(StringSE... allowedOrigins)
      許可された Origin ヘッダー値を構成します。
      導入:
      4.1.2
    • setAllowedOriginPatterns

      protected SockJsServiceRegistration setAllowedOriginPatterns(StringSE... allowedOriginPatterns)
      許可される Origin パターンヘッダー値を構成します。
      導入:
      5.3.2
    • setSuppressCors

      public SockJsServiceRegistration setSuppressCors(boolean suppressCors)
      このオプションを使用して、SockJS リクエストの CORS ヘッダーの自動追加を無効にすることができます。

      デフォルト値は "false" です。

      導入:
      5.3.23
    • setMessageCodec

      public SockJsServiceRegistration setMessageCodec(SockJsMessageCodec codec)
      SockJS メッセージのエンコードとデコードに使用するコーデック。

      デフォルトでは、Jackson2SockJsMessageCodec が使用され、Jackson ライブラリがクラスパスに存在する必要があります。

      パラメーター:
      codec - 使用するコーデック。
      導入:
      4.1
    • getSockJsService

      protected SockJsService getSockJsService()
    • getTaskScheduler

      @Nullable protected TaskScheduler getTaskScheduler()
      構成されている場合は、TaskScheduler を返します。