アノテーションインターフェース ServiceActivator
@TargetSE({METHODSE,ANNOTATION_TYPESE})
@RetentionSE(RUNTIMESE)
@DocumentedSE
@RepeatableSE(ServiceActivators.class)
public @interface ServiceActivator
メソッドがメッセージまたはメッセージペイロードを処理できることを示します。
@ServiceActivator アノテーションが付けられたメソッドは、型 Message
または予期されるメッセージペイロードの型のパラメーターを受け入れる場合があります。SimpleTypeConverter
でサポートされている型変換は、必要に応じてメッセージペイロードに適用されます。ヘッダー値は、@Header
パラメーターアノテーションを使用してメッセージパラメーターとして渡すこともできます。
アノテーション付きメソッドからの戻り値は、どの型でもかまいません。戻り値がメッセージでない場合、そのオブジェクトをペイロードとして応答メッセージが作成されます。
- 作成者:
- Mark Fisher, Gary Russell, Artem Bilan, Yilin Wei, Chris Bono
オプション要素の概要
オプション要素修飾子と型オプションの要素説明StringSE[]
メッセージハンドラーを「ラップ」するAdvice
Bean の「チェーン」を指定します。サービスメソッドが非同期であるかどうかを指定します。SmartLifecycle
autoStartup
オプション。このサービスアクティベータがメッセージを消費するチャネルを指定します。このサービスアクティベータが応答を送信するチャネルを指定します。SmartLifecycle
phase
オプションを指定します。サービスメソッドが null 以外の値を返す必要があるかどうかを指定します。応答Message
をoutputChannel
に送信するときに待機する最大時間をミリ秒単位で指定します。
要素の詳細
inputChannel
StringSE inputChannelこのサービスアクティベータがメッセージを消費するチャネルを指定します。チャネルが存在しない場合、この名前のDirectChannel
がアプリケーションコンテキストに登録されます。- 戻り値:
- チャンネル名。
- デフォルト:
""
outputChannel
requiresReply
StringSE requiresReplyサービスメソッドが null 以外の値を返す必要があるかどうかを指定します。この値はデフォルトでfalse
ですが、true
に設定されている場合、基礎となるサービスメソッド(または式)が null 値を返すと、ReplyRequiredException
がスローされます。「プロパティプレースホルダー」として指定できます。例:${spring.integration.requiresReply}
。- 戻り値:
- 応答フラグが必要です。
- デフォルト:
""
adviceChain
StringSE[] adviceChainメッセージハンドラーを「ラップ」するAdvice
Bean の「チェーン」を指定します。ダウンストリームフローではなく、ハンドラーのみが通知されます。- 戻り値:
- アドバイスチェーン。
- デフォルト:
{}
sendTimeout
StringSE sendTimeout応答Message
をoutputChannel
に送信するときに待機する最大時間をミリ秒単位で指定します。デフォルトは30
秒です。出力チャネルに何らかの「送信」制限がある場合にのみ適用されます (例: 固定の「容量」を持つQueueChannel
)。この場合、MessageDeliveryException
がスローされます。AbstractSubscribableChannel
実装の場合、"sendTimeout" は無視されます。「プロパティプレースホルダー」として指定できます (例:${spring.integration.sendTimeout}
)。- 戻り値:
- 結果を応答ターゲットに送信するためのタイムアウト (ミリ秒単位)
- デフォルト:
""
autoStartup
phase
StringSE phaseSmartLifecycle
phase
オプションを指定します。デフォルトは、PollingConsumer
の場合はInteger.MAX_VALUE / 2
、EventDrivenConsumer
の場合はInteger.MIN_VALUE
です。「プロパティプレースホルダー」として指定できます。例:${foo.phase}
。- 戻り値:
SmartLifecycle
フェーズ。
- デフォルト:
""
async
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