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() 以外のメソッドを呼び出すと、IllegalStateExceptionSE がスローされます。
AutoCloseableSE の closeSE Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.