パッケージ jakarta.ws.rs.sse

インターフェース SseBroadcaster

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

    public interface SseBroadcaster
    extends AutoCloseableSE
    サーバー送信イベントブロードキャスト機能。

    サーバーブロードキャスターを使用して、複数の server sinks を管理できます。これにより、すべての登録済みイベント出力にイベントを送信できるようになり、個々の登録済みイベント出力の例外とクローズを効果的に処理する機能が提供されます。

    このインターフェースのインスタンスはスレッドセーフです。つまり、内部状態に矛盾を生じさせることなく、共有し、そのメソッドを異なるスレッドから呼び出すことができます。

    導入:
    2.1
    作成者:
    Marek Potociar
    • メソッドの詳細

      • onError

        void onError​(BiConsumerSE<SseEventSink,​ThrowableSE> onError)
        リスナーを登録します。このリスナーは、この SseBroadcaster が書き込みまたはクローズを試みたときに、特定の SseEventSink によって例外がスローされたときに呼び出されます。

        特に多数のリスナーがブロードキャスターに登録されている場合、この操作は潜在的に遅くなります。SseBroadcaster の実装は、少量の同時リスナーの登録と削除、および大量の登録済みリスナー通知を効率的に処理するように最適化されています。

        パラメーター:
        onError - 2 つのパラメーターを取るバイコンシューマー: エラーの原因である SseEventSink と実際の ThrowableSE インスタンス。
      • onClose

        void onClose​(ConsumerSE<SseEventSink> onClose)
        この SseBroadcaster が特定のイベント SseEventSink を閉じるか、すでに閉じられている特定の SseEventSink に書き込もうとしたときに呼び出されるリスナーを登録します(クライアントが接続を閉じるか、サーバー側で SseEventSink.close() を呼び出すことによって)。

        特に多数のリスナーがブロードキャスターに登録されている場合、この操作は潜在的に遅くなります。SseBroadcaster の実装は、少量の同時リスナーの登録と削除、および大量の登録済みリスナー通知を効率的に処理するように最適化されています。

        パラメーター:
        onClose - 閉じられた単一のパラメーター SseEventSink を使用するコンシューマー。
      • register

        void register​(SseEventSink sseEventSink)
        提供された SseEventSink インスタンスをこの SseBroadcaster に登録します。
        パラメーター:
        sseEventSink - 登録します。
      • broadcast

        CompletionStageSE<?> broadcast​(OutboundSseEvent event)
        登録されているすべての SseEventSink インスタンスに SSE イベントを公開します。
        パラメーター:
        event - 公開する SSE イベント。
        戻り値:
        登録されているすべてのイベントシンクにイベントがブロードキャストされたときに完了する完了ステージ。
      • close

        void close()
        ブロードキャスターと登録されているすべての SseEventSink インスタンスを閉じます。SseBroadcaster に関連付けられているその他のリソースは解放する必要があります。このメソッドは、close(true) を呼び出すのと同じです。

        後続の呼び出しは効果がなく、無視されます。SseBroadcaster が閉じられると、ブロードキャスターインスタンスで他のメソッドを呼び出すと、IllegalStateExceptionSE がスローされます。

        次で指定:
        インターフェース AutoCloseableSEclose 
      • close

        void close​(boolean cascading)
        ブロードキャスターを閉じて、それに関連付けられているすべてのリソースを解放します。登録された SseEventSink のクローズは、cascading パラメーターによって制御されます。

        後続の呼び出しは効果がなく、無視されます。SseBroadcaster が閉じられると、ブロードキャスターインスタンスで他のメソッドを呼び出すと、IllegalStateExceptionSE がスローされます。

        パラメーター:
        cascading - 登録された SseEventSink インスタンスのクローズを制御するブール値。