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

インターフェース SseBroadcaster

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

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

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

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

導入:
2.1
作成者:
Marek Potociar
  • 方法の概要

    修飾子と型
    メソッド
    説明
    登録されているすべての SseEventSink インスタンスに SSE イベントを公開します。
    void
    ブロードキャスターと登録されているすべての SseEventSink インスタンスを閉じます。
    void
    close(boolean cascading)
    ブロードキャスターを閉じて、それに関連付けられているすべてのリソースを解放します。
    void
    この SseBroadcaster が特定のイベント SseEventSink を閉じるか、すでに閉じられている特定の SseEventSink に書き込もうとしたときに呼び出されるリスナーを登録します(クライアントが接続を閉じるか、サーバー側で SseEventSink.close() を呼び出すことによって)。
    void
    リスナーを登録します。このリスナーは、この SseBroadcaster が書き込みまたはクローズを試みたときに、特定の SseEventSink によって例外がスローされたときに呼び出されます。
    void
    register(SseEventSink sseEventSink)
    提供された SseEventSink インスタンスをこの SseBroadcaster に登録します。
  • メソッドの詳細

    • 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 インスタンスのクローズを制御するブール値。