アノテーションインターフェース Splitter
@TargetSE({METHODSE,ANNOTATION_TYPESE})
@RetentionSE(RUNTIMESE)
@DocumentedSE
@RepeatableSE(Splitters.class)
public @interface Splitter
メソッドが単一のメッセージまたはメッセージペイロードを分割して複数のメッセージまたはペイロードを生成できることを示します。
@Splitter アノテーションが付けられたメソッドは、型 Message または予期されるメッセージペイロードの型のパラメーターを受け入れる場合があります。SimpleTypeConverter でサポートされている型変換は、必要に応じてメッセージペイロードに適用されます。ヘッダー値は、@Header パラメーターアノテーションを使用してメッセージパラメーターとして渡すこともできます。
アノテーション付きメソッドからの戻り値は、任意の型の要素を持つコレクションまたは配列のいずれかです。型がメッセージでない場合、それぞれが新しいメッセージを作成するためのペイロードとして使用されます。
- 作成者:
- Mark Fisher, Gary Russell, Artem Bilan, Chris Bono
オプション要素の概要
オプション要素修飾子と型オプションの要素説明StringSE[]メッセージハンドラーを「ラップ」するAdviceBean の「チェーン」を指定します。このフラグをfalseに設定して、このスプリッターにシーケンス関連のヘッダーが追加されないようにします。SmartLifecycleautoStartupオプション。このスプリッターがメッセージを消費するチャネルを指定します。このスプリッターが応答を送信するチャネルを指定します。SmartLifecyclephaseオプションを指定します。応答MessageをoutputChannelに送信するときに待機する最大時間をミリ秒単位で指定します。
要素の詳細
inputChannel
StringSE inputChannelこのスプリッターがメッセージを消費するチャネルを指定します。チャネルが存在しない場合、この名前のDirectChannelがアプリケーションコンテキストに登録されます。- 戻り値:
- チャンネル名。
- デフォルト:
""
outputChannel
applySequence
StringSE applySequenceこのフラグをfalseに設定して、このスプリッターにシーケンス関連のヘッダーが追加されないようにします。これは、設定されたシーケンス番号がダウンストリームのカスタム集計と競合する場合に便利です。trueの場合、既存の相関およびシーケンス関連のヘッダーがスタックにプッシュされます。アグリゲーターなどのダウンストリームコンポーネントは、スタックをポップして、アグリゲーション後に既存のヘッダーを元に戻す場合があります。デフォルトはtrueです。「プロパティプレースホルダー」として指定できます。例:${spring.integration.applySequence}。- 戻り値:
- シーケンスフラグを適用します。
- デフォルト:
""
adviceChain
StringSE[] adviceChainメッセージハンドラーを「ラップ」するAdviceBean の「チェーン」を指定します。ダウンストリームフローではなく、ハンドラーのみが通知されます。- 戻り値:
- アドバイスチェーン。
- デフォルト:
{}
sendTimeout
StringSE sendTimeout応答MessageをoutputChannelに送信するときに待機する最大時間をミリ秒単位で指定します。デフォルトは30秒です。出力チャネルに何らかの「送信」制限がある場合にのみ適用されます (例: 固定の「容量」を持つQueueChannel)。この場合、MessageDeliveryExceptionがスローされます。AbstractSubscribableChannel実装の場合、"sendTimeout" は無視されます。「プロパティプレースホルダー」として指定できます (例:${spring.integration.sendTimeout})。- 戻り値:
- 結果を応答ターゲットに送信するためのタイムアウト (ミリ秒単位)
- デフォルト:
""
autoStartup
phase
StringSE phaseSmartLifecyclephaseオプションを指定します。デフォルトは、PollingConsumerの場合はInteger.MAX_VALUE / 2、EventDrivenConsumerの場合はInteger.MIN_VALUEです。「プロパティプレースホルダー」として指定できます。例:${foo.phase}。- 戻り値:
SmartLifecycleフェーズ。
- デフォルト:
""
poller
Poller poller- 戻り値:
- ポーリングされたエンドポイント (
PollerMetadata) のPollerオプション。reactive()とは相互に排他的です。
- デフォルト:
@org.springframework.integration.annotation.Poller("\n\t\t\n\t\t\n\ue000\ue001\ue002\n\t\t\t\t\n")
reactive