パッケージ jakarta.ws.rs.sse
インターフェース SseEventSink
- すべてのスーパーインターフェース:
AutoCloseableSE
public interface SseEventSink extends AutoCloseableSE
送信サーバー送信イベントストリーム。SseEventSink
のインスタンスは、リソースメソッドパラメーターを挿入することによってのみ取得できます。@GET @Path("eventStream") @Produces(MediaType.SERVER_SENT_EVENTS) public void eventStream(@Context SseEventSink eventSink) { // ... }
挿入されたインスタンスは戻り値の型と見なされるため、サーバー側の非同期処理の場合と同様に、リソースメソッドは何も返しません。基盤となるクライアント接続は開いたままになり、アプリケーションコードはイベントを送信できます。インターフェースを実装するサーバー側のインスタンスは、単一のクライアント HTTP 接続に正確に対応します。
注入されたインスタンスはスレッドセーフです。
- 導入:
- 2.1
- 作成者:
- Marek Potociar (marek.potociar at oracle.com)
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 void
close()
SseEventSink
インスタンスを閉じて、関連するすべてのリソースを解放します。boolean
isClosed()
ストリームがすでに閉じられているかどうかを確認します。CompletionStageSE<?>
send(OutboundSseEvent event)
送信サーバー送信イベントをこのシンクに送信します。
メソッドの詳細
isClosed
boolean isClosed()
ストリームがすでに閉じられているかどうかを確認します。この
SseServerSink
で表されるクライアント接続は、クライアントが接続を閉じてサーバーから切断することを決定したときに、クライアント側で閉じることができることに注意してください。- 戻り値:
- 閉じている場合は
true
、それ以外の場合はfalse
。
send
CompletionStageSE<?> send(OutboundSseEvent event)
送信サーバー送信イベントをこのシンクに送信します。イベントは直列化され、クライアントに送信されます。
- パラメーター:
event
- 書かれるイベント。- 戻り値:
- イベントが送信されたときに完了する完了ステージ。イベントの送信中に問題が発生した場合、完了段階は例外的に完了します。
close
void close()
SseEventSink
インスタンスを閉じて、関連するすべてのリソースを解放します。後続の呼び出しは効果がなく、無視されます。
SseEventSink
が閉じられると、このメソッドとisClosed()
以外のメソッドを呼び出すと、IllegalStateException
SE がスローされます。- 次で指定:
- インターフェース
AutoCloseableSE
のclose