T
- Subscriber
に通知される要素の型 public abstract class AbstractListenerWriteFlushProcessor<T> extends ObjectSE implements Processor<Publisher<? extends T>,VoidSE>
AbstractListenerWriteProcessor
の代替ですが、代わりにフラッシュ境界を使用して Publisher<Publisher<T>>
を記述すると、ネストされた各パブリッシャーの補完後に強制されます。修飾子と型 | フィールドと説明 |
---|---|
protected static Log | rsWriteFlushLogger Reactive Streams 信号をデバッグするための特別なロガー。 |
コンストラクターと説明 |
---|
AbstractListenerWriteFlushProcessor() |
AbstractListenerWriteFlushProcessor(StringSE logPrefix) 指定されたログプレフィックスでインスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected void | cancel() サーブレットコンテナーのエラー / 完了通知などが原因で、「書き込み」パブリッシャーのアップストリームチェーンのみをキャンセルします。 |
protected abstract Processor<? super T, VoidSE> | createWriteProcessor() 現在のフラッシュ境界の新しいプロセッサーを作成します。 |
protected abstract void | flush() 準備ができている場合は出力をフラッシュします。そうでない場合、 isFlushPending() は後で true を返します。 |
protected void | flushingFailed(ThrowableSE t) フラッシュ中にエラーが発生すると呼び出されます。 |
StringSE | getLogPrefix() 指定されたログプレフィックスでインスタンスを作成します。 |
protected abstract boolean | isFlushPending() フラッシュが保留中かどうか。 |
protected abstract boolean | isWritePossible() 書き込み / フラッシュが可能かどうか。 |
void | onComplete() アップストリームからの補完信号、パブリッシャーに書き込みます。 |
void | onError(ThrowableSE ex) アップストリームからのエラー信号、パブリッシャーに書き込みます。 |
protected void | onFlushPossible() フラッシュが可能なときに呼び出されます。 isWritePossible() を介してチェックした後、同じスレッドで実行されるか、基になるコンテナーからのコールバックとして実行されます。 |
void | onNext(Publisher<? extends T> publisher) |
void | onSubscribe(Subscription subscription) |
void | subscribe(Subscriber<? super VoidSE> subscriber) |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected static final Log rsWriteFlushLogger
LogDelegateFactory.getHiddenLog(Class)
, AbstractListenerReadPublisher.rsReadLogger
, AbstractListenerWriteProcessor.rsWriteLogger
, WriteResultPublisher.rsWriteResultLogger
public AbstractListenerWriteFlushProcessor()
public AbstractListenerWriteFlushProcessor(StringSE logPrefix)
public StringSE getLogPrefix()
public final void onSubscribe(Subscription subscription)
Subscriber<Publisher<? extends T>>
の onSubscribe
public final void onNext(Publisher<? extends T> publisher)
Subscriber<Publisher<? extends T>>
の onNext
public final void onError(ThrowableSE ex)
Subscriber<Publisher<? extends T>>
の onError
public final void onComplete()
Subscriber<Publisher<? extends T>>
の onComplete
protected final void onFlushPossible()
isWritePossible()
を介してチェックした後、同じスレッドで実行されるか、基になるコンテナーからのコールバックとして実行されます。protected void cancel()
onError(Throwable)
または onComplete()
のいずれかを呼び出して、ダウンストリームチェーンに通知する必要があります。つまり、ダウンストリームからキャンセルが発生した場合を除きます。public final void subscribe(Subscriber<? super VoidSE> subscriber)
protected abstract Processor<? super T,VoidSE> createWriteProcessor()
protected abstract boolean isWritePossible()
protected abstract void flush() throws IOExceptionSE
isFlushPending()
は後で true を返します。これは主に、readyToWrite チェックなしではフラッシュを呼び出せないサーブレットのノンブロッキング I/O API 向けです。
protected abstract boolean isFlushPending()
これは主に、readyToWrite チェックなしではフラッシュを呼び出せないサーブレットのノンブロッキング I/O API 向けです。
protected void flushingFailed(ThrowableSE t)
デフォルトの実装では、アップストリームの書き込みパブリッシャーがキャンセルされ、リクエスト処理の結果として onError がダウンストリームに送信されます。