パッケージ jakarta.ws.rs.sse
インターフェース SseBroadcaster
- すべてのスーパーインターフェース:
AutoCloseableSE
public interface SseBroadcaster extends AutoCloseableSE
サーバー送信イベントブロードキャスト機能。サーバーブロードキャスターを使用して、複数の
server sinks
を管理できます。これにより、すべての登録済みイベント出力にイベントを送信できるようになり、個々の登録済みイベント出力の例外とクローズを効果的に処理する機能が提供されます。このインターフェースのインスタンスはスレッドセーフです。つまり、内部状態に矛盾を生じさせることなく、共有し、そのメソッドを異なるスレッドから呼び出すことができます。
- 導入:
- 2.1
- 作成者:
- Marek Potociar
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 CompletionStageSE<?>
broadcast(OutboundSseEvent event)
登録されているすべてのSseEventSink
インスタンスに SSE イベントを公開します。void
close()
ブロードキャスターと登録されているすべてのSseEventSink
インスタンスを閉じます。void
close(boolean cascading)
ブロードキャスターを閉じて、それに関連付けられているすべてのリソースを解放します。void
onClose(ConsumerSE<SseEventSink> onClose)
この SseBroadcaster が特定のイベントSseEventSink
を閉じるか、すでに閉じられている特定のSseEventSink
に書き込もうとしたときに呼び出されるリスナーを登録します(クライアントが接続を閉じるか、サーバー側でSseEventSink.close()
を呼び出すことによって)。void
onError(BiConsumerSE<SseEventSink,ThrowableSE> onError)
リスナーを登録します。このリスナーは、この SseBroadcaster が書き込みまたはクローズを試みたときに、特定のSseEventSink
によって例外がスローされたときに呼び出されます。void
register(SseEventSink sseEventSink)
提供されたSseEventSink
インスタンスをこのSseBroadcaster
に登録します。
メソッドの詳細
onError
void onError(BiConsumerSE<SseEventSink,ThrowableSE> onError)
リスナーを登録します。このリスナーは、この SseBroadcaster が書き込みまたはクローズを試みたときに、特定のSseEventSink
によって例外がスローされたときに呼び出されます。特に多数のリスナーがブロードキャスターに登録されている場合、この操作は潜在的に遅くなります。
SseBroadcaster
の実装は、少量の同時リスナーの登録と削除、および大量の登録済みリスナー通知を効率的に処理するように最適化されています。- パラメーター:
onError
- 2 つのパラメーターを取るバイコンシューマー: エラーの原因であるSseEventSink
と実際のThrowable
SE インスタンス。
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
が閉じられると、ブロードキャスターインスタンスで他のメソッドを呼び出すと、IllegalStateException
SE がスローされます。- 次で指定:
- インターフェース
AutoCloseableSE
のclose
close
void close(boolean cascading)
ブロードキャスターを閉じて、それに関連付けられているすべてのリソースを解放します。登録されたSseEventSink
のクローズは、cascading
パラメーターによって制御されます。後続の呼び出しは効果がなく、無視されます。
SseBroadcaster
が閉じられると、ブロードキャスターインスタンスで他のメソッドを呼び出すと、IllegalStateException
SE がスローされます。- パラメーター:
cascading
- 登録されたSseEventSink
インスタンスのクローズを制御するブール値。