パッケージ jakarta.websocket

インターフェース WebSocketContainer

すべての既知のサブインターフェース:
ServerContainer

public interface WebSocketContainer
WebSocketContainer は、アプリケーションがオブジェクトを実行するコンテナーのビューを提供する実装提供オブジェクトです。WebSocketContainer コンテナーには、含まれているエンドポイントのデフォルトのセッションとバッファーのプロパティを制御するさまざまな構成パラメーターがあります。また、開発者は、提供されたエンドポイントからピアエンドポイントが存在すると推定される提供された URI への Web ソケットハンドシェイクを開始することにより、Web ソケットクライアントエンドポイントをデプロイできます。

WebSocketContainer は同時スレッドによってアクセスされる可能性があるため、実装では、このような状況でその可変属性の整合性を確保する必要があります。

作成者:
dannycoward
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    connectToServer(Endpoint endpointInstance, ClientEndpointConfig cec, URISE path)
    提供されたプログラムによるクライアントエンドポイントインスタンスを、指定された構成でサーバーに接続します。
    connectToServer(ClassSE<?> annotatedEndpointClass, URISE path)
    提供されているアノテーション付きエンドポイントをサーバーに接続します。
    connectToServer(ClassSE<? extends Endpoint> endpointClass, ClientEndpointConfig cec, URISE path)
    指定された設定を使用して、提供されたプログラムエンドポイントをサーバーに接続します。
    connectToServer(ObjectSE annotatedEndpointInstance, URISE path)
    提供されているアノテーション付きエンドポイントインスタンスをサーバーに接続します。
    long
    このコンテナーに関連付けられているすべての RemoteEndpoints の WebSocket メッセージを送信しようとして実装がタイムアウトするミリ秒数を返します。
    int
    このコンテナーがバッファリングする受信バイナリメッセージのデフォルトの最大サイズを返します。
    long
    デフォルトの時間(ミリ秒単位)を返します。この時間が経過すると、このコンテナー内の Web ソケットセッションが非アクティブである場合は、閉じられます。
    int
    このコンテナーがバッファリングする受信テキストメッセージのデフォルトの最大サイズを返します。
    コンテナーにインストールされている拡張機能のセットを返します。
    void
    setAsyncSendTimeout(long timeoutmillis)
    このコンテナーに関連付けられたすべての RemoteEndpoints の WebSocket メッセージを送信しようとして実装がタイムアウトするミリ秒数を設定します。
    void
    このコンテナーがバッファリングする受信バイナリメッセージのデフォルトの最大サイズを設定します。
    void
    デフォルトの時間をミリ秒単位で設定します。この時間が経過すると、このコンテナー内の Web ソケットセッションが非アクティブである場合は、それが閉じられます。
    void
    このコンテナーがバッファリングする受信テキストメッセージの最大サイズを設定します。
  • メソッドの詳細

    • getDefaultAsyncSendTimeout

      long getDefaultAsyncSendTimeout()
      このコンテナーに関連付けられたすべての RemoteEndpoints に対して Websocket メッセージを送信しようとして、実装がタイムアウトになるミリ秒数を返します。ゼロまたは負の値は、実装が Websocket メッセージを非同期に送信しようとしてタイムアウトしないことを示します。このデフォルトは、各 RemoteEndpoint でオーバーライドされる可能性があることに注意してください。
      戻り値:
      ミリ秒単位のタイムアウト時間。
    • setAsyncSendTimeout

      void setAsyncSendTimeout(long timeoutmillis)
      このコンテナーに関連付けられたすべての RemoteEndpoints に対して Websocket メッセージを送信しようとして実装がタイムアウトするミリ秒数を設定します。ゼロまたは負の値は、実装が Websocket メッセージを非同期に送信しようとしてタイムアウトしないことを示します。このデフォルトは、各 RemoteEndpoint でオーバーライドされる可能性があることに注意してください。
      パラメーター:
      timeoutmillis - ミリ秒単位のタイムアウト。タイムアウトなしにはゼロまたは負の値を使用します
    • connectToServer

      Session connectToServer(ObjectSE annotatedEndpointInstance, URISE path) throws DeploymentException, IOExceptionSE
      提供されたアノテーション付きエンドポイントインスタンスをそのサーバーに接続します。提供されるオブジェクトは、クラスレベルの ClientEndpoint アノテーションで装飾されたクラスである必要があります。このメソッドは、接続が確立されるまでブロックするか、接続を確立できなかったか、指定されたエンドポイントクラスに問題があった場合にエラーをスローします。開発者がこの方法を使用してクライアントエンドポイントをデプロイする場合、たとえば、実装が Java EE プラットフォームの一部である場合にサポートされる、依存性注入などのサービスが利用できない場合があります。クライアントエンドポイントが依存性注入を使用する場合は、代わりに connectToServer(java.lang.Class, java.net.URI) を使用してください。
      パラメーター:
      annotatedEndpointInstance - アノテーション付きの WebSocket クライアントエンドポイントインスタンス。
      path - サーバーエンドポイントへの完全なパス。
      戻り値:
      接続が成功した場合に作成されたセッション。
      例外:
      DeploymentException - アノテーション付きエンドポイントインスタンスが無効な場合。
      IOExceptionSE - クライアントエンドポイントをサーバーに接続できないネットワークまたはプロトコルの問題があった場合。
      IllegalStateExceptionSE - 包含アプリケーションのデプロイフェーズ中に呼び出された場合。
    • connectToServer

      Session connectToServer(ClassSE<?> annotatedEndpointClass, URISE path) throws DeploymentException, IOExceptionSE
      提供されたアノテーション付きエンドポイントをサーバーに接続します。提供されるオブジェクトは、クラスレベルの ClientEndpoint アノテーションで装飾されたクラスである必要があります。このメソッドは、接続が確立されるまでブロックするか、接続を確立できなかったか、指定されたエンドポイントクラスに問題があった場合にエラーをスローします。
      パラメーター:
      annotatedEndpointClass - アノテーション付きの WebSocket クライアントエンドポイント。
      path - サーバーエンドポイントへの完全なパス。
      戻り値:
      接続が成功した場合に作成されたセッション。
      例外:
      DeploymentException - クラスが有効なアノテーション付きエンドポイントクラスでない場合。
      IOExceptionSE - クライアントエンドポイントをサーバーに接続できないネットワークまたはプロトコルの問題があった場合。
      IllegalStateExceptionSE - 包含アプリケーションのデプロイフェーズ中に呼び出された場合。
    • connectToServer

      Session connectToServer(Endpoint endpointInstance, ClientEndpointConfig cec, URISE path) throws DeploymentException, IOExceptionSE
      提供されたプログラムによるクライアントエンドポイントインスタンスを、指定された構成でサーバーに接続します。このメソッドは、接続が確立されるまでブロックします。接続が確立できなかった場合はエラーをスローします。開発者がこのメソッドを使用してクライアントエンドポイントをデプロイする場合、たとえば、実装が Java EE プラットフォームの一部である場合にサポートされる依存性注入などのサービスが利用できない場合があります。クライアントエンドポイントが依存性注入を使用する場合は、代わりに connectToServer(java.lang.Class, jakarta.websocket.ClientEndpointConfig, java.net.URI) を使用します。
      パラメーター:
      endpointInstance - プログラムによるクライアントエンドポイントインスタンス Endpoint
      path - サーバーエンドポイントへの完全なパス。
      cec - プログラムによるエンドポイントの構成に使用される構成。
      戻り値:
      接続が成功した場合に作成されたセッション。
      例外:
      DeploymentException - 構成が無効な場合
      IOExceptionSE - クライアントエンドポイントをサーバーに接続できないネットワークまたはプロトコルの問題があった場合
      IllegalStateExceptionSE - 包含アプリケーションのデプロイフェーズ中に呼び出された場合。
    • connectToServer

      Session connectToServer(ClassSE<? extends Endpoint> endpointClass, ClientEndpointConfig cec, URISE path) throws DeploymentException, IOExceptionSE
      提供されたプログラムによるエンドポイントを、指定された構成でサーバーに接続します。このメソッドは、接続が確立されるまでブロックします。接続が確立できなかった場合はエラーをスローします。
      パラメーター:
      endpointClass - プログラムによるクライアントエンドポイントクラス Endpoint
      path - サーバーエンドポイントへの完全なパス。
      cec - プログラムによるエンドポイントの構成に使用される構成。
      戻り値:
      接続が成功した場合に作成されたセッション。
      例外:
      DeploymentException - 構成が無効な場合
      IOExceptionSE - クライアントエンドポイントをサーバーに接続できないネットワークまたはプロトコルの問題があった場合
      IllegalStateExceptionSE - 包含アプリケーションのデプロイフェーズ中に呼び出された場合。
    • getDefaultMaxSessionIdleTimeout

      long getDefaultMaxSessionIdleTimeout()
      このコンテナー内の Web ソケットセッションがアクティブでない場合に閉じられるまでの既定の時間をミリ秒単位で返します。ゼロまたは負の値は、セッションがアクティブでないためにタイムアウトしないことを示します。この値は、Session.setMaxIdleTimeout(long) を使用してセッションごとにオーバーライドできます。
      戻り値:
      このコンテナーのアイドルセッションが終了するまでのデフォルトのミリ秒数
    • setDefaultMaxSessionIdleTimeout

      void setDefaultMaxSessionIdleTimeout(long timeout)
      このコンテナー内のすべての Web ソケットセッションがアクティブでない場合に閉じられるまでの既定の時間をミリ秒単位で設定します。ゼロまたは負の値は、セッションがアクティブでないためにタイムアウトしないことを示します。この値は、Session.setMaxIdleTimeout(long) を使用してセッションごとにオーバーライドできます。
      パラメーター:
      timeout - ミリ秒単位の最大時間。タイムアウトなしにはゼロまたは負の値を使用します
    • getDefaultMaxBinaryMessageBufferSize

      int getDefaultMaxBinaryMessageBufferSize()
      このコンテナーがバッファリングする受信バイナリメッセージのデフォルトの最大サイズを返します。このデフォルトは、Session.setMaxBinaryMessageBufferSize(int) を使用してセッションごとにオーバーライドできます。
      戻り値:
      受信バイナリメッセージの最大サイズ(バイト数)。
    • setDefaultMaxBinaryMessageBufferSize

      void setDefaultMaxBinaryMessageBufferSize(int max)
      このコンテナーがバッファリングする受信バイナリメッセージのデフォルトの最大サイズを設定します。
      パラメーター:
      max - バイナリメッセージの最大サイズ(バイト数)。
    • getDefaultMaxTextMessageBufferSize

      int getDefaultMaxTextMessageBufferSize()
      このコンテナーがバッファする受信テキストメッセージのデフォルトの最大サイズを返します。このデフォルトは、Session.setMaxTextMessageBufferSize(int) を使用してセッションごとにオーバーライドできます。
      戻り値:
      受信テキストメッセージの最大サイズ(バイト数)。
    • setDefaultMaxTextMessageBufferSize

      void setDefaultMaxTextMessageBufferSize(int max)
      このコンテナーがバッファリングする受信テキストメッセージの最大サイズを設定します。
      パラメーター:
      max - テキストメッセージの最大サイズ(バイト数)。
    • getInstalledExtensions

      SetSE<Extension> getInstalledExtensions()
      コンテナーにインストールされている拡張機能のセットを返します。
      戻り値:
      拡張機能のセット。