パッケージ jakarta.ws.rs.sse

クラス SseEventSource.Builder

  • 含まれているインターフェース:
    SseEventSource

    public abstract static class SseEventSource.Builder
    extends ObjectSE
    JAX-RS SseEventSource ビルダークラス。

    イベントソースビルダーは、新しい SseEventSource インスタンスを便利に構成して構築できるメソッドを提供します。静的 SseEventSource.target(endpoint) ファクトリメソッドを使用して、新しいイベントソースビルダーインスタンスを取得できます。

    例:

     SseEventSource es = SseEventSource.target(endpoint)
             .reconnectingEvery(5, SECONDS)
             .build();
     es.register(System.out::println);
     es.open();
     
    • コンストラクターの詳細

      • Builder

        protected Builder()
        カスタム実装が SSE イベントソースビルダークラスを継承できるようにします。
    • メソッドの詳細

      • target

        protected abstract SseEventSource.Builder target​(WebTarget endpoint)
        SSE ストリーミングエンドポイントを設定します。
        パラメーター:
        endpoint - SSE ストリーミングエンドポイント。null であってはなりません。
        戻り値:
        イベントソースビルダーインスタンスを更新しました。
        例外:
        NullPointerExceptionSE - 提供された Web ターゲットが null の場合。
      • reconnectingEvery

        public abstract SseEventSource.Builder reconnectingEvery​(long delay,
                                                                 TimeUnitSE unit)
        イベントソースが使用する初期再接続遅延を設定します。

        この値は、SseEventSource javadoc に従って、retry SSE イベントフィールドまたは HTTP 503 + "Retry-After" メカニズムのいずれかを使用して SSE エンドポイントによって後でオーバーライドされる可能性があることに注意してください。

        パラメーター:
        delay - 接続損失からの回復を試みる前に待機するデフォルトの時間。
        unit - 再接続遅延パラメーターの時間単位。
        戻り値:
        イベントソースビルダーインスタンスを更新しました。
      • build

        public abstract SseEventSource build()
        SSE ストリーミング web target を指す新しい SSE イベントソースを作成します。

        返されたイベントソースは準備ができていますが、SSE エンドポイントへの connected ではありません。SSE イベントの受信を開始する準備ができたら、SseEventSource.open() メソッドを手動で呼び出すことが期待されています。すでに SSE エンドポイントに接続されているイベントソースインスタンスを構築する場合は、代わりにイベントソースビルダー SseEventSource.open() メソッドを使用してください。

        イベントソースが開かれると、受信イベントは、内部シングルスレッド scheduled executor serviceSE で実行される非同期タスクのイベントソースによって処理されます。

        戻り値:
        SSE エンドポイントに接続する準備ができた新しいイベントソースインスタンス。
        関連事項:
        SseEventSource.open()