クラス IntegrationReactiveUtils
java.lang.ObjectSE
org.springframework.integration.util.IntegrationReactiveUtils
統合コンポーネントをリアクティブ型に / から反応させるためのユーティリティ。
- 導入:
- 5.3
- 作成者:
- Artem Bilan
フィールドのサマリー
フィールド修飾子と型フィールド説明static final DurationSE空のソースMonoを 1 秒のDurationSE として繰り返す前のデフォルトの遅延。static final StringSEMono.repeatWhenEmpty(java.util.function.Function)からのFlux.delayElements(java.time.Duration)のサブスクライバーコンテキストエントリ。static final booleanio.micrometer:context-propagationライブラリがクラスパス上にあることを示すインジケーター。メソッドのサマリー
修飾子と型メソッド説明static reactor.util.context.ContextViewContextSnapshotFactoryロジックに従って、現在のスレッドローカル状態から ReactorContextViewをキャプチャーします。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にラップします。static AutoCloseableSEsetThreadLocalsFromReactorContext(reactor.util.context.ContextView context) ContextSnapshotFactoryロジックに従って、提供された ReactorContextViewからスレッドローカル変数を設定します。
フィールドの詳細
DELAY_WHEN_EMPTY_KEY
Mono.repeatWhenEmpty(java.util.function.Function)からのFlux.delayElements(java.time.Duration)のサブスクライバーコンテキストエントリ。- 関連事項:
DEFAULT_DELAY_WHEN_EMPTY
空のソースMonoを 1 秒のDurationSE として繰り返す前のデフォルトの遅延。isContextPropagationPresent
public static final boolean isContextPropagationPresentio.micrometer:context-propagationライブラリがクラスパス上にあることを示すインジケーター。- 導入:
- 6.2.5
メソッドの詳細
captureReactorContext
public static reactor.util.context.ContextView captureReactorContext()ContextSnapshotFactoryロジックに従って、現在のスレッドローカル状態から ReactorContextViewをキャプチャーします。クラスパスにio.micrometer:context-propagationライブラリがない場合、Context.empty()が返されます。- 戻り値:
- 現在のスレッドのローカル状態からの Reactor
ContextViewまたはContext.empty()。 - 導入:
- 6.2.5
setThreadLocalsFromReactorContext
@Nullable public static AutoCloseableSE setThreadLocalsFromReactorContext(reactor.util.context.ContextView context) ContextSnapshotFactoryロジックに従って、提供された ReactorContextViewからスレッドローカル変数を設定します。- パラメーター:
context- 移入元の ReactorContextView。- 戻り値:
- ターゲットクラスパスを汚染しないように、
ContextSnapshot.ScopeをAutoCloseableSE に変換します。必要に応じてキャストできます。クラスパスにio.micrometer:context-propagationライブラリがない場合は null になります。 - 導入:
- 6.2.5
messageSourceToFlux
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_KEYDurationSE エントリに基づいて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- 適応するMessageSource- 戻り値:
- オンデマンドで
MessageSourceからメッセージをプルするFlux
messageChannelToFlux
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- 適応するMessageChannel- 戻り値:
- 公開するイベントのソースとして提供された
MessageChannelを使用するFlux