パッケージ jakarta.ws.rs.sse
インターフェース SseBroadcaster
- すべてのスーパーインターフェース:
AutoCloseableSE
public interface SseBroadcaster extends AutoCloseableSE
サーバー送信イベントブロードキャスト機能。サーバーブロードキャスターを使用して、複数の
server sinksを管理できます。これにより、すべての登録済みイベント出力にイベントを送信できるようになり、個々の登録済みイベント出力の例外とクローズを効果的に処理する機能が提供されます。このインターフェースのインスタンスはスレッドセーフです。つまり、内部状態に矛盾を生じさせることなく、共有し、そのメソッドを異なるスレッドから呼び出すことができます。
- 導入:
- 2.1
- 作成者:
- Marek Potociar
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 CompletionStageSE<?>broadcast(OutboundSseEvent event)登録されているすべてのSseEventSinkインスタンスに SSE イベントを公開します。voidclose()ブロードキャスターと登録されているすべてのSseEventSinkインスタンスを閉じます。voidclose(boolean cascading)ブロードキャスターを閉じて、それに関連付けられているすべてのリソースを解放します。voidonClose(ConsumerSE<SseEventSink> onClose)この SseBroadcaster が特定のイベントSseEventSinkを閉じるか、すでに閉じられている特定のSseEventSinkに書き込もうとしたときに呼び出されるリスナーを登録します(クライアントが接続を閉じるか、サーバー側でSseEventSink.close()を呼び出すことによって)。voidonError(BiConsumerSE<SseEventSink,ThrowableSE> onError)リスナーを登録します。このリスナーは、この SseBroadcaster が書き込みまたはクローズを試みたときに、特定のSseEventSinkによって例外がスローされたときに呼び出されます。voidregister(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 がスローされます。- 次で指定:
- インターフェース
AutoCloseableSE内のclose
close
void close(boolean cascading)
ブロードキャスターを閉じて、それに関連付けられているすべてのリソースを解放します。登録されたSseEventSinkのクローズは、cascadingパラメーターによって制御されます。後続の呼び出しは効果がなく、無視されます。
SseBroadcasterが閉じられると、ブロードキャスターインスタンスで他のメソッドを呼び出すと、IllegalStateExceptionSE がスローされます。- パラメーター:
cascading- 登録されたSseEventSinkインスタンスのクローズを制御するブール値。