インタフェースjava.util.concurrent.Flow.Subscriberの
使用
パッケージ | 説明 |
---|---|
java.net.http |
HTTPクライアントおよびWebSocket API
|
java.util.concurrent |
並行プログラミングでよく使用されるユーティリティ・クラスです。
|
-
java.net.httpでのFlow.Subscriberの使用
java.net.httpのFlow.Subscriberのサブインタフェース 修飾子と型 インタフェース 説明 static interface
HttpResponse.BodySubscriber<T>
BodySubscriber
はレスポンス本文のバイトを消費し、上位のJavaタイプに変換します。型Flow.Subscriberの型パラメータを持つjava.net.httpのメソッド 修飾子と型 メソッド 説明 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
に転送する本文サブスクライバを返します。型Flow.Subscriberのパラメータを持つjava.net.httpのメソッド 修飾子と型 メソッド 説明 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の使用
java.util.concurrentのFlow.Subscriberのサブインタフェース 修飾子と型 インタフェース 説明 static interface
Flow.Processor<T,R>
サブスクライバとパブリッシャの両方として機能するコンポーネント。型Flow.Subscriberの引数を持つ型を返すjava.util.concurrentのメソッド 修飾子と型 メソッド 説明 List<Flow.Subscriber<? super T>>
SubmissionPublisher. getSubscribers()
サブスクライバでFlow.Subscriber
メソッドを呼び出すためではなく、モニタリングとトラッキングのために現在のサブスクライバのリストを返します。型Flow.Subscriberのパラメータを持つjava.util.concurrentのメソッド 修飾子と型 メソッド 説明 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)
指定されたサブスクライバを、すでにサブスクライブしていない限り追加します。型Flow.Subscriberの型引数を持つjava.util.concurrentのメソッド・パラメータ 修飾子と型 メソッド 説明 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
メソッドを非同期に呼び出すことによって、可能であれば、指定されたアイテムを各現在のサブスクライバにパブリッシュします。型Flow.Subscriberの型引数のjava.util.concurrentのコンストラクタ・パラメータ コンストラクタ 説明 SubmissionPublisher(Executor executor, int maxBufferCapacity, BiConsumer<? super Flow.Subscriber<? super T>,? super Throwable> handler)
各サブスクライバに対して指定された最大バッファ・サイズでサブスクライバへの非同期配信用に、指定されたExecutorを使用して新しいSubmissionPublisherを作成し、非nullの場合、サブスクライバがonNext
メソッドで例外をスローしたときに呼び出されます。