パッケージ 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
    SseEventSink インスタンスを閉じて、関連するすべてのリソースを解放します。
    boolean
    ストリームがすでに閉じられているかどうかを確認します。
    送信サーバー送信イベントをこのシンクに送信します。
  • メソッドの詳細

    • isClosed

      boolean isClosed()
      ストリームがすでに閉じられているかどうかを確認します。

      この SseServerSink で表されるクライアント接続は、クライアントが接続を閉じてサーバーから切断することを決定したときに、クライアント側で閉じることができることに注意してください。

      戻り値:
      閉じている場合は true、それ以外の場合は false
    • send

      送信サーバー送信イベントをこのシンクに送信します。

      イベントは直列化され、クライアントに送信されます。

      パラメーター:
      event - 書かれるイベント。
      戻り値:
      イベントが送信されたときに完了する完了ステージ。イベントの送信中に問題が発生した場合、完了段階は例外的に完了します。
    • close

      void close() throws IOExceptionSE
      SseEventSink インスタンスを閉じて、関連するすべてのリソースを解放します。

      後続の呼び出しは効果がなく、無視されます。SseEventSink が閉じられると、このメソッドと isClosed() 以外のメソッドを呼び出すと、IllegalStateExceptionSE がスローされます。

      次で指定:
      インターフェース AutoCloseableSEclose 
      例外:
      IOExceptionSE - I/O エラーが発生した場合。