インタフェース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) サブスクライバへの非同期配信用に指定されたエグゼキュータを使用して、サブスクライバごとに指定された最大バッファ・サイズで新しいSubmissionPublisherを作成します。null以外の場合、任意のサブスクライバがメソッドonNext
で例外をスローしたときに、指定されたハンドラが呼び出されます。