パッケージ jakarta.faces.push

インターフェース PushContext

  • すべてのスーパーインターフェース:
    SerializableSE

    public interface PushContext
    extends SerializableSE

    @Push で識別されるプッシュソケットチャネルにメッセージオブジェクトを送信するための CDI インターフェース。これは、WAR のコンテナー管理アーティファクトに @Push を介して注入できます。

     @Inject
     @Push
     private PushContext channelName;
     

    詳しい使用方法については、@Push javadoc を参照してください。

    導入:
    2.3
    関連事項:
    Push
    • フィールドサマリー

      フィールド  
      修飾子と型 フィールド 説明
      static StringSEENABLE_WEBSOCKET_ENDPOINT_PARAM_NAME
      起動時に Web ソケットエンドポイントを明示的に有効にするブールコンテキストパラメーター名。
      static StringSEURI_PREFIX
      エンドポイントがリッスンする必要があるコンテキスト相対 Web ソケット URI プレフィックス。
      static StringSEWEBSOCKET_ENDPOINT_PORT_PARAM_NAME
      HTTP ポートとは異なる場合に WebSocket エンドポイントポートを指定する整数コンテキストパラメーター名。
    • フィールドの詳細

      • ENABLE_WEBSOCKET_ENDPOINT_PARAM_NAME

        static final StringSE ENABLE_WEBSOCKET_ENDPOINT_PARAM_NAME
        起動時に Web ソケットエンドポイントを明示的に有効にするブールコンテキストパラメーター名。
        関連事項:
        定数フィールド値
      • WEBSOCKET_ENDPOINT_PORT_PARAM_NAME

        static final StringSE WEBSOCKET_ENDPOINT_PORT_PARAM_NAME
        HTTP ポートとは異なる場合に WebSocket エンドポイントポートを指定する整数コンテキストパラメーター名。
        関連事項:
        定数フィールド値
      • URI_PREFIX

        static final StringSE URI_PREFIX
        エンドポイントがリッスンする必要があるコンテキスト相対 Web ソケット URI プレフィックス。
        関連事項:
        定数フィールド値
    • メソッドの詳細

      • send

        SetSE<FutureSE<VoidSE>> send​(ObjectSE message)
        @Push で識別されるように、指定されたメッセージオブジェクトをプッシュソケットチャネルに送信します。メッセージオブジェクトは JSON としてエンコードされ、<f:websocket onmessage> で宣言された JavaScript リスナー関数の最初の引数として使用できます。
        パラメーター:
        message - プッシュメッセージオブジェクト。
        戻り値:
        送信操作の結果。空のセットが返される場合、指定されたソケットチャネルに関連付けられた開いている Web ソケットセッションはありませんでした。返される先物は、メッセージが正常に配信された場合は Future.get() で null を返し、それ以外の場合は ExecutionExceptionSE をスローします。
        例外:
        IllegalArgumentExceptionSE - 指定されたメッセージオブジェクトを JSON としてエンコードできない場合。
        関連事項:
        RemoteEndpoint.Async.sendText(String)
      • send

        <S extends SerializableSESetSE<FutureSE<VoidSE>> send​(ObjectSE message,
                                                        S user)
        <f:websocket user> で識別される特定のユーザーを対象として、@Push で識別されるプッシュソケットチャネルに指定されたメッセージオブジェクトを送信します。メッセージオブジェクトは JSON としてエンコードされ、<f:websocket onmessage> で宣言された JavaScript リスナー関数の最初の引数として使用できます。
        型パラメーター:
        S - ユーザー ID の総称型。
        パラメーター:
        message - プッシュメッセージオブジェクト。
        user - プッシュメッセージオブジェクトの配信先となるユーザー。
        戻り値:
        送信操作の結果。空のセットが返される場合、指定されたソケットチャネルとユーザーに関連付けられた開いている Web ソケットセッションはありませんでした。返される先物は、メッセージが正常に配信された場合は Future.get() で null を返し、それ以外の場合は ExecutionExceptionSE をスローします。
        例外:
        IllegalArgumentExceptionSE - 指定されたメッセージオブジェクトを JSON としてエンコードできない場合。
        関連事項:
        RemoteEndpoint.Async.sendText(String)
      • send

        <S extends SerializableSEMapSE<S,​SetSE<FutureSE<VoidSE>>> send​(ObjectSE message,
                                                                     CollectionSE<S> users)
        <f:websocket user> で識別される特定のユーザーを対象として、@Push で識別されるプッシュソケットチャネルに特定のメッセージオブジェクトを送信します。メッセージオブジェクトは JSON としてエンコードされ、<f:websocket onmessage> で宣言された JavaScript リスナー関数の最初の引数として使用できます。
        型パラメーター:
        S - ユーザー ID の総称型。
        パラメーター:
        message - プッシュメッセージオブジェクト。
        users - プッシュメッセージオブジェクトの配信先となるユーザー。
        戻り値:
        ユーザーごとにグループ化された送信操作の結果。空のセットが含まれている場合、指定されたソケットチャネルとユーザーに関連付けられた開いている Web ソケットセッションはありませんでした。返される先物は、メッセージが正常に配信された場合は Future.get() で null を返し、それ以外の場合は ExecutionExceptionSE をスローします。
        例外:
        IllegalArgumentExceptionSE - 指定されたメッセージオブジェクトを JSON としてエンコードできない場合。
        関連事項:
        RemoteEndpoint.Async.sendText(String)