public final class IntegrationReactiveUtils extends ObjectSE
| 修飾子と型 | フィールドと説明 |
|---|---|
static java.time.Duration | DEFAULT_DELAY_WHEN_EMPTY 空のソース Mono を 1 秒の Duration として繰り返すまでのデフォルトの遅延。 |
static StringSE | DELAY_WHEN_EMPTY_KEYMono.repeatWhenEmpty(java.util.function.Function) からの Flux.delayElements(java.time.Duration) のサブスクライバーコンテキストエントリ。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
static <T> reactor.core.publisher.Flux<Message<T>> | messageChannelToFlux(MessageChannel messageChannel) 提供された MessageChannel を Flux ソースに適合させます。-FluxMessageChannel はすでに Publisher であるため、そのまま返されます。-SubscribableChannel は、このメソッドから返される Sinks.Many#tryEmitNext(Object) の MessageHandler でサブスクライブされています。-PollableChannel は MessageSource ラムダにラップされ、messageSourceToFlux(MessageSource) を再利用します。 |
static <T> reactor.core.publisher.Flux<Message<T>> | messageSourceToFlux(MessageSource<T> messageSource) オンデマンドでプルするために、提供された MessageSource を Flux にラップします。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic static final StringSE DELAY_WHEN_EMPTY_KEY
Mono.repeatWhenEmpty(java.util.function.Function) からの Flux.delayElements(java.time.Duration) のサブスクライバーコンテキストエントリ。public static final java.time.Duration DEFAULT_DELAY_WHEN_EMPTY
Mono を 1 秒の Duration として繰り返すまでのデフォルトの遅延。public static <T> reactor.core.publisher.Flux<Message<T>> messageSourceToFlux(MessageSource<T> messageSource)
MessageSource を Flux にラップします。MessageSource.receive() が null を返すと、ソース Mono は Mono.repeatWhenEmpty(java.util.function.Function<reactor.core.publisher.Flux<java.lang.Long>, ? extends org.reactivestreams.Publisher<?>>) 状態になり、サブスクライバーコンテキストの DELAY_WHEN_EMPTY_KEY Duration エントリに基づいて delay を実行するか、1 秒の期間にフォールバックします。生成されたメッセージに IntegrationMessageHeaderAccessor.ACKNOWLEDGMENT_CALLBACK ヘッダーがある場合、メッセージは Mono.doOnSuccess(java.util.function.Consumer<? super T>) で確認応答され、Mono.doOnError(java.util.function.Consumer<? super java.lang.Throwable>) で確認応答されます。T - 予想されるペイロード型。messageSource - 適応する MessageSourceMessageSource からメッセージをプルする Flux public static <T> reactor.core.publisher.Flux<Message<T>> messageChannelToFlux(MessageChannel messageChannel)
MessageChannel を Flux ソースに適合させます。-FluxMessageChannel はすでに Publisher であるため、そのまま返されます。-SubscribableChannel は、このメソッドから返される Sinks.Many#tryEmitNext(Object) の MessageHandler でサブスクライブされています。-PollableChannel は MessageSource ラムダにラップされ、messageSourceToFlux(MessageSource) を再利用します。T - 予想されるペイロード型。messageChannel - 適応する MessageChannelMessageChannel を使用する Flux