パッケージ 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)
    • メソッドの詳細

      • isClosed

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

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

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

        CompletionStageSE<?> send​(OutboundSseEvent event)
        送信サーバー送信イベントをこのシンクに送信します。

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

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

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

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

        次で指定:
        インターフェース AutoCloseableSEclose