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


インターフェースメソッドがそのパラメーターをメッセージまたはメッセージペイロードにマッピングできることを示します。これらのメソッドレベルのアノテーションは GatewayProxyFactoryBean によって検出され、アノテーション属性はデフォルトのチャネル設定をオーバーライドできます。

@Gateway でアノテーションが付けられたメソッドは、型 Message または目的のメッセージペイロード型の単一のアノテーションなしパラメーターを受け入れる場合があります。メソッドパラメーターは、@Header パラメーターアノテーションを使用して個々のメッセージヘッダー値にマップできます。または、メッセージヘッダーマップ全体を渡すために、マップ型のパラメーターに Headers アノテーションを付けることもできます。

アノテーション付きメソッドからの戻り値は、どの型でもかまいません。宣言された戻り値がメッセージでない場合、応答メッセージのペイロードが返され、必要に応じて、Spring の SimpleTypeConverter でサポートされている型変換が戻り値に適用されます。

メモ: @Publisher とは異なり、このアノテーションは、マークされたインターフェースメソッドのプロキシに基づいてメッセージングエンドポイントを公開するためのものです。メソッドの呼び出しにより、AOP アドバイスを使用してメッセージングの相互作用が発生します。メソッドパラメーターは、送信されたメッセージ(ペイロード、ヘッダー)の一部になります。メソッドの戻り値は、プロキシによって呼び出されたメッセージングフローの結果(ペイロード)です。

作成者:
Mark Fisher, Gary Russell, Artem Bilan
関連事項:
  • オプション要素の概要

    オプション要素
    修飾子と型
    オプションの要素
    説明
    リクエストメッセージに追加される追加のヘッダーを指定します。
    SpEL 式を指定して、リクエストメッセージのペイロードを判別します。
    応答メッセージの受信元のチャネルを指定します。包含ゲートウェイのデフォルトの応答チャネルをオーバーライドします。
    long
    リクエストを送信するスレッドが応答を待機する時間(ミリ秒)を指定します。
    SpEL 式を指定して、リクエストを送信したスレッドが応答を待つ時間 (ミリ秒) を決定します。
    メッセージの送信先のチャネルを指定します。包含ゲートウェイのデフォルトのリクエストチャネルをオーバーライドします。
    long
    リクエストチャネルに送信するときのタイムアウト(ms)を指定します。送信がブロックする可能性がある場合にのみ適用されます(現在いっぱいになっている制限付き QueueChannel など)。
    SpEL 式を指定して、リクエストチャネルに送信するときのタイムアウト(ms)を決定します。送信がブロックされる可能性がある場合にのみ適用されます(現在いっぱいになっている制限付き QueueChannel など)。
  • 要素の詳細

    • requestChannel

      StringSE requestChannel
      メッセージの送信先のチャネルを指定します。包含ゲートウェイのデフォルトのリクエストチャネルをオーバーライドします。
      戻り値:
      チャンネル名。
      デフォルト:
      ""
    • replyChannel

      StringSE replyChannel
      応答メッセージの受信元のチャネルを指定します。包含ゲートウェイのデフォルトの応答チャネルをオーバーライドします。
      戻り値:
      チャンネル名。
      デフォルト:
      ""
    • requestTimeout

      long requestTimeout
      リクエストチャネルに送信するときのタイムアウト(ms)を指定します。送信がブロックされる可能性がある場合にのみ適用されます(現在いっぱいになっている制限付き QueueChannel など。包含ゲートウェイのデフォルトのリクエストタイムアウトをオーバーライドします。
      戻り値:
      タイムアウト。
      関連事項:
      デフォルト:
      30000L
    • requestTimeoutExpression

      StringSE requestTimeoutExpression
      SpEL 式を指定して、リクエストチャネルに送信するときのタイムアウト(ms)を決定します。送信がブロックされる可能性がある場合にのみ適用されます(現在いっぱいになっている制限付き QueueChannel など。包含ゲートウェイのデフォルトのリクエストタイムアウトをオーバーライドします。requestTimeout() をオーバーライドします。
      戻り値:
      タイムアウト。
      導入:
      5.0
      デフォルト:
      ""
    • replyTimeout

      long replyTimeout
      リクエストを送信するスレッドが応答を待機する時間(ミリ秒)を指定します。タイマーは、リクエストメッセージが送信されたときではなく、スレッドがゲートウェイに戻ったときに開始します。包含ゲートウェイのデフォルトの応答タイムアウトをオーバーライドします。
      戻り値:
      タイムアウト。
      関連事項:
      デフォルト:
      30000L
    • replyTimeoutExpression

      StringSE replyTimeoutExpression
      SpEL 式を指定して、リクエストを送信したスレッドが応答を待つ時間 (ミリ秒) を決定します。タイマーは、リクエストメッセージの送信時ではなく、スレッドがゲートウェイに戻ったときに開始します。包含するゲートウェイのデフォルトの応答タイムアウトをオーバーライドします。replyTimeout() をオーバーライドします。
      戻り値:
      タイムアウト。
      導入:
      5.0
      デフォルト:
      ""
    • payloadExpression

      StringSE payloadExpression
      SpEL 式を指定して、リクエストメッセージのペイロードを判別します。
      戻り値:
      表現。
      デフォルト:
      ""
    • headers

      GatewayHeader[] headers
      リクエストメッセージに追加される追加のヘッダーを指定します。
      戻り値:
      ヘッダー。
      デフォルト:
      {}