アノテーションインターフェース 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[]
メッセージハンドラーを「ラップ」するAdvice
Bean の「チェーン」を指定します。このフラグをfalse
に設定して、このスプリッターにシーケンス関連のヘッダーが追加されないようにします。SmartLifecycle
autoStartup
オプション。このスプリッターがメッセージを消費するチャネルを指定します。このスプリッターが応答を送信するチャネルを指定します。SmartLifecycle
phase
オプションを指定します。応答Message
をoutputChannel
に送信するときに待機する最大時間をミリ秒単位で指定します。
要素の詳細
inputChannel
StringSE inputChannelこのスプリッターがメッセージを消費するチャネルを指定します。チャネルが存在しない場合、この名前のDirectChannel
がアプリケーションコンテキストに登録されます。- 戻り値:
- チャンネル名。
- デフォルト:
- ""
outputChannel
StringSE outputChannelこのスプリッターが応答を送信するチャネルを指定します。- 戻り値:
- チャンネル名。
- デフォルト:
- ""
applySequence
StringSE applySequenceこのフラグをfalse
に設定して、このスプリッターにシーケンス関連のヘッダーが追加されないようにします。これは、設定されたシーケンス番号がダウンストリームのカスタム集計と競合する場合に便利です。true
の場合、既存の相関およびシーケンス関連のヘッダーがスタックにプッシュされます。アグリゲーターなどのダウンストリームコンポーネントは、スタックをポップして、アグリゲーション後に既存のヘッダーを元に戻す場合があります。デフォルトはtrue
です。「プロパティプレースホルダー」として指定できます。例:${spring.integration.applySequence}
。- 戻り値:
- シーケンスフラグを適用します。
- デフォルト:
- ""
adviceChain
StringSE[] adviceChainメッセージハンドラーを「ラップ」するAdvice
Bean の「チェーン」を指定します。ダウンストリームフローではなく、ハンドラーのみが通知されます。- 戻り値:
- アドバイスチェーン。
- デフォルト:
- {}
sendTimeout
StringSE sendTimeout応答Message
をoutputChannel
に送信するときに待機する最大時間をミリ秒単位で指定します。デフォルトは30
秒です。これは、出力チャンネルに何らかの「送信」制限がある場合にのみ適用されます。「容量」が固定されたQueueChannel
。この場合、MessageDeliveryException
がスローされます。AbstractSubscribableChannel
実装の場合、"sendTimeout" は無視されます。「プロパティプレースホルダ」として指定できます。${spring.integration.sendTimeout}
。- 戻り値:
- 結果を応答ターゲットに送信するためのタイムアウト (ミリ秒単位)
- デフォルト:
- ""
autoStartup
StringSE autoStartup- 戻り値:
- 自動起動
boolean
フラグ。
- デフォルト:
- ""
phase
StringSE phaseSmartLifecycle
phase
オプションを指定します。デフォルトは、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
Reactive reactive- デフォルト:
- @org.springframework.integration.annotation.Reactive("\n \ t \ t \n \ t \ t \n \ ue000 \ ue001 \ ue002 \n \ t \ t \ t \ t \n")