インタフェースjava.util.concurrent.Flow.Subscriberの
使用
パッケージ
説明
HTTPクライアントおよびWebSocket API
並行プログラミングでよく使用されるユーティリティ・クラスです。
-
java.net.httpでのFlow.Subscriberの使用
修飾子と型インタフェース説明static interface
BodySubscriber
はレスポンス本文のバイトを消費し、上位のJavaタイプに変換します。修飾子と型メソッド説明static <S extends Flow.Subscriber<? super String>,
T>
HttpResponse.BodyHandler<T>HttpResponse.BodyHandlers.fromLineSubscriber
(S subscriber, Function<? super S, ? extends T> finisher, String lineSeparator) BodySubscribers.fromLineSubscriber(subscriber, finisher, charset, lineSeparator)
から取得したBodySubscriber
<T>
を返し、指定されたsubscriber
、finisher
関数および行セパレータを含むレスポンス本文ハンドラを返します。static <S extends Flow.Subscriber<? super String>,
T>
HttpResponse.BodySubscriber<T>HttpResponse.BodySubscribers.fromLineSubscriber
(S subscriber, Function<? super S, ? extends T> finisher, Charset charset, String lineSeparator) 指定されたFlow.Subscriber
の行ごとにすべてのレスポンス本文を転送する本体サブスクライバを返します。static <S extends Flow.Subscriber<? super List<ByteBuffer>>,
T>
HttpResponse.BodyHandler<T>HttpResponse.BodyHandlers.fromSubscriber
(S subscriber, Function<? super S, ? extends T> finisher) 指定されたsubscriber
およびfinisher
関数を使用して、HttpResponse.BodySubscribers.fromSubscriber(Subscriber, Function)
から取得されたBodySubscriber
<T>
を返すレスポンス本文ハンドラを返します。static <S extends Flow.Subscriber<? super List<ByteBuffer>>,
T>
HttpResponse.BodySubscriber<T>HttpResponse.BodySubscribers.fromSubscriber
(S subscriber, Function<? super S, ? extends T> finisher) すべてのレスポンス本文を指定されたFlow.Subscriber
に転送する本文サブスクライバを返します。修飾子と型メソッド説明static HttpResponse.BodyHandler<Void>
HttpResponse.BodyHandlers.fromLineSubscriber
(Flow.Subscriber<? super String> subscriber) 指定されたBodySubscribers.fromLineSubscriber(subscriber, s -> null, charset, null)
から取得されたBodySubscriber
<Void>
を返すレスポンス本文ハンドラを返します。static HttpResponse.BodySubscriber<Void>
HttpResponse.BodySubscribers.fromLineSubscriber
(Flow.Subscriber<? super String> subscriber) 指定されたFlow.Subscriber
の行ごとにすべてのレスポンス本文を転送する本体サブスクライバを返します。static HttpResponse.BodyHandler<Void>
HttpResponse.BodyHandlers.fromSubscriber
(Flow.Subscriber<? super List<ByteBuffer>> subscriber) 指定されたHttpResponse.BodySubscribers.fromSubscriber(Subscriber)
から取得されたBodySubscriber
<Void>
を返すレスポンス本文ハンドラを返します。static HttpResponse.BodySubscriber<Void>
HttpResponse.BodySubscribers.fromSubscriber
(Flow.Subscriber<? super List<ByteBuffer>> subscriber) すべてのレスポンス本文を指定されたFlow.Subscriber
に転送する本文サブスクライバを返します。 -
java.util.concurrentでのFlow.Subscriberの使用
修飾子と型メソッド説明List<Flow.Subscriber<? super T>>
SubmissionPublisher.getSubscribers()
サブスクライバでFlow.Subscriber
メソッドを呼び出すためではなく、モニタリングとトラッキングのために現在のサブスクライバのリストを返します。修飾子と型メソッド説明boolean
SubmissionPublisher.isSubscribed
(Flow.Subscriber<? super T> subscriber) 指定されたサブスクライバが現在サブスクライブされている場合はtrueを返します。void
Flow.Publisher.subscribe
(Flow.Subscriber<? super T> subscriber) 可能であれば、指定されたサブスクライバを追加します。void
SubmissionPublisher.subscribe
(Flow.Subscriber<? super T> subscriber) 指定されたサブスクライバを、すでにサブスクライブしていない限り追加します。修飾子と型メソッド説明int
SubmissionPublisher.offer
(T item, long timeout, TimeUnit unit, BiPredicate<Flow.Subscriber<? super T>, ? super T> onDrop) 指定されたアイテムを、可能であれば現在の各サブスクライバに公開します。これは、onNext
メソッドを非同期的に呼び出し、任意のサブスクリプションのリソースを使用できなくしてもブロックします。指定されたタイムアウトまで、またはコールアウト・スレッドが中断するまで、指定されたハンドラ(非nullの場合)が呼び出され、trueが返された場合は1回再試行します。int
SubmissionPublisher.offer
(T item, BiPredicate<Flow.Subscriber<? super T>, ? super T> onDrop) onNext
メソッドを非同期に呼び出すことによって、可能であれば、指定されたアイテムを各現在のサブスクライバにパブリッシュします。修飾子コンストラクタ説明SubmissionPublisher
(Executor executor, int maxBufferCapacity, BiConsumer<? super Flow.Subscriber<? super T>, ? super Throwable> handler) 各サブスクライバに対して指定された最大バッファ・サイズでサブスクライバへの非同期配信用に、指定されたExecutorを使用して新しいSubmissionPublisherを作成し、非nullの場合、サブスクライバがonNext
メソッドで例外をスローしたときに呼び出されます。