アノテーションインターフェース ServiceActivator


メソッドがメッセージまたはメッセージペイロードを処理できることを示します。

@ServiceActivator アノテーションが付けられたメソッドは、型 Message または予期されるメッセージペイロードの型のパラメーターを受け入れる場合があります。SimpleTypeConverter でサポートされている型変換は、必要に応じてメッセージペイロードに適用されます。ヘッダー値は、@Header パラメーターアノテーションを使用してメッセージパラメーターとして渡すこともできます。

アノテーション付きメソッドからの戻り値は、どの型でもかまいません。戻り値がメッセージでない場合、そのオブジェクトをペイロードとして応答メッセージが作成されます。

作成者:
Mark Fisher, Gary Russell, Artem Bilan, Yilin Wei, Chris Bono
  • 要素の詳細

    • inputChannel

      StringSE inputChannel
      このサービスアクティベータがメッセージを消費するチャネルを指定します。チャネルが存在しない場合、この名前の DirectChannel がアプリケーションコンテキストに登録されます。
      戻り値:
      チャンネル名。
      デフォルト:
      ""
    • outputChannel

      StringSE 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

      StringSE autoStartup
      SmartLifecycle autoStartup オプション。「プロパティプレースホルダー」として指定できます。例: ${foo.autoStartup}。デフォルトは true です。
      戻り値:
      自動起動 boolean フラグ。
      デフォルト:
      ""
    • phase

      StringSE phase
      SmartLifecycle phase オプションを指定します。デフォルトは、PollingConsumer の場合は Integer.MAX_VALUE / 2EventDrivenConsumer の場合は Integer.MIN_VALUE です。「プロパティプレースホルダー」として指定できます。例: ${foo.phase}
      戻り値:
      SmartLifecycle フェーズ。
      デフォルト:
      ""
    • async

      StringSE async
      サービスメソッドが非同期であるかどうかを指定します。この値はデフォルトで false です。
      戻り値:
      非同期フラグ。
      デフォルト:
      ""
    • 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
      戻り値:
      コンシューマーエンドポイントの Reactive マーカー。poller() と相互に排他的です。
      導入:
      5.5
      デフォルト:
      @org.springframework.integration.annotation.Reactive("\n \ t \ t \n \ t \ t \n \ ue000 \ ue001 \ ue002 \n \ t \ t \ t \ t \n")