public interface SseEventSink extends AutoCloseableSE
SseEventSink
のインスタンスは、リソースメソッドパラメーターを挿入することによってのみ取得できます。
@GET @Path("eventStream") @Produces(MediaType.SERVER_SENT_EVENTS) public void eventStream(@Context SseEventSink eventSink) { // ... }挿入されたインスタンスは戻り値の型と見なされるため、サーバー側の非同期処理の場合と同様に、リソースメソッドは何も返しません。
基盤となるクライアント接続は開いたままになり、アプリケーションコードはイベントを送信できます。インターフェースを実装するサーバー側のインスタンスは、単一のクライアント HTTP 接続に正確に対応します。
注入されたインスタンスはスレッドセーフです。
修飾子と型 | メソッドと説明 |
---|---|
void | close() SseEventSink インスタンスを閉じて、関連するすべてのリソースを解放します。 |
boolean | isClosed() ストリームがすでに閉じられているかどうかを確認します。 |
CompletionStageSE<?> | send(OutboundSseEvent event) 送信サーバー送信イベントをこのシンクに送信します。 |
boolean isClosed()
この SseServerSink
で表されるクライアント接続は、クライアントが接続を閉じてサーバーから切断することを決定したときに、クライアント側で閉じることができることに注意してください。
true
、それ以外の場合は false
。CompletionStageSE<?> send(OutboundSseEvent event)
イベントは直列化され、クライアントに送信されます。
event
- 書かれるイベント。void close()
SseEventSink
インスタンスを閉じて、関連するすべてのリソースを解放します。 後続の呼び出しは効果がなく、無視されます。SseEventSink
が閉じられると、このメソッドと isClosed()
以外のメソッドを呼び出すと、IllegalStateException
SE がスローされます。
AutoCloseableSE
の closeSE
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.