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


@TargetSE(TYPESE) @RetentionSE(RUNTIMESE) @MessageEndpoint public @interface MessagingGateway
Integration Messaging Gateway Proxy をメッセージング API の抽象化として提供するステレオタイプアノテーション。ターゲットアプリケーションのビジネスロジックは Spring Integration API をまったく認識せず、コードはインターフェースを介してのみ対話する場合があります。

重要: 標準の ComponentScan はインターフェースを無視するため、MessagingGateway でアノテーションが付けられたインターフェースをスキャンするには、Configuration とともに IntegrationComponentScan アノテーションが必要です。

Gateway アノテーションは、インターフェースごとのメソッド設定に使用できます。

導入:
4.0
作成者:
Artem Bilan, Gary Russell
関連事項:
  • オプション要素のサマリー

    オプション要素
    修飾子と型
    オプションの要素
    説明
    FutureSE 戻り値の型を持つ任意のインターフェースメソッドに使用する ExecutorSE の実装への参照を提供します。
    カスタムメッセージヘッダーを提供します。
    メソッド宣言によって明示的にオーバーライドされない限り、サービスインターフェースのすべてのメソッドの payload を生成するために使用される式。
    ゲートウェイプロキシがサブスクライブするデフォルトチャネルを識別し、応答 Message を受信します。そのペイロードは、メソッドシグネチャーの戻り値の型に変換されます。
    このゲートウェイが応答 Message を待ってから戻るまでの時間を指定できます。
    ゲートウェイプロキシのメソッドの呼び出し時にメッセージが送信されるデフォルトのチャネルを識別します。
    ディスパッチャーが Message の送信を待機する時間を提供します。
    ゲートウェイのプロキシ呼び出しで障害が発生した場合にエラーメッセージが送信されるチャネルを識別します。
    boolean
    errorOnTimeout が true の場合、タイムアウトが発生したときにゲートウェイメソッド呼び出しの結果として null は返されません。
    メソッド引数を Message にマップするための MethodArgsMessageMapper
    この値は、自動検出されたコンポーネントの場合、Spring Bean に変換される論理コンポーネント名の提案を示している場合があります。
    boolean
    インターフェースの default メソッドもプロキシする必要があるかどうかを示します。
    この値は、自動検出されたコンポーネントの場合、Spring Bean に変換される論理コンポーネント名の提案を示している場合があります。
  • 要素の詳細

    • value

      この値は、自動検出されたコンポーネントの場合、Spring Bean に変換される論理コンポーネント名の提案を示している場合があります。
      戻り値:
      推奨されるコンポーネント名(ある場合)
      導入:
      6.0
      デフォルト:
      ""
    • name

      この値は、自動検出されたコンポーネントの場合、Spring Bean に変換される論理コンポーネント名の提案を示している場合があります。
      戻り値:
      推奨されるコンポーネント名(ある場合)
      デフォルト:
      ""
    • defaultRequestChannel

      StringSE defaultRequestChannel
      ゲートウェイプロキシのメソッドの呼び出し時にメッセージが送信されるデフォルトのチャネルを識別します。メソッドごとの構成については、Gateway.requestChannel() を参照してください。
      戻り値:
      提案されたチャネル名(ある場合)
      デフォルト:
      ""
    • defaultReplyChannel

      StringSE defaultReplyChannel
      ゲートウェイプロキシが応答 Message を受信するためにサブスクライブするデフォルトチャネルを識別します。そのペイロードはメソッドシグネチャーの戻り値の型に変換されます。メソッドごとの構成については、Gateway.replyChannel() を参照してください。
      戻り値:
      提案されたチャネル名(ある場合)
      デフォルト:
      ""
    • errorChannel

      StringSE errorChannel
      ゲートウェイのプロキシ呼び出しで障害が発生した場合にエラーメッセージが送信されるチャネルを識別します。errorChannel 参照が提供されていない場合、ゲートウェイは Exception を呼び出し元に伝搬します。Exception を完全に抑制するには、ここで nullChannel への参照を提供します。
      戻り値:
      提案されたチャネル名(ある場合)
      デフォルト:
      ""
    • defaultRequestTimeout

      StringSE defaultRequestTimeout
      ディスパッチャーが Message の送信を待機する時間を提供します。このタイムアウトは、送信呼び出しがブロックされる可能性がある場合にのみ適用されます。たとえば、このゲートウェイが QueueChannel に接続されている場合です。値はミリ秒単位で指定します。単純な long 値または SpEL 式にすることができます。配列変数 #args が利用可能です。メソッドごとの構成については、Gateway.requestTimeout() を参照してください。
      戻り値:
      ミリ秒単位の推奨タイムアウト(ある場合)
      デフォルト:
      "30000"
    • defaultReplyTimeout

      StringSE defaultReplyTimeout
      このゲートウェイが応答 Message を返すまで待機する時間を指定できます。ゲートウェイがタイムアウトすると、null が返されます。値はミリ秒単位で指定します。単純な long 値または SpEL 式にすることができます。配列変数 #args が利用可能です。メソッドごとの構成については、Gateway.replyTimeout() を参照してください。
      戻り値:
      ミリ秒単位の推奨タイムアウト(ある場合)
      デフォルト:
      "30000"
    • asyncExecutor

      StringSE asyncExecutor
      FutureSE 戻り値の型を持つ任意のインターフェースメソッドに使用する ExecutorSE の実装への参照を提供します。この Executor は、これらの非同期メソッドにのみ使用されます。同期メソッドは、呼び出し元のスレッドで呼び出されます。AnnotationConstants.NULL を使用して、非同期エグゼキュータを指定しないでください。たとえば、ダウンストリームフローが FutureSE を返す場合などです。
      戻り値:
      推奨されるエグゼキュータ Bean 名(ある場合)
      デフォルト:
      ""
    • defaultPayloadExpression

      StringSE defaultPayloadExpression
      メソッド宣言によって明示的にオーバーライドされない限り、サービスインターフェース内のすべてのメソッドの payload を生成するために使用される式。変数には #args#methodName#methodString#methodObject が含まれます。Bean リゾルバーも利用可能で、@someBean(#args) のような式を有効にします。メソッドごとの構成については、Gateway.payloadExpression() を参照してください。
      戻り値:
      提案されたペイロード式(ある場合)
      デフォルト:
      ""
    • defaultHeaders

      GatewayHeader[] defaultHeaders
      カスタムメッセージヘッダーを提供します。これらのデフォルトヘッダーは、サービスインターフェース上のすべてのメソッドに対して作成されます (特定のメソッドによってオーバーライドされない限り)。メソッドごとの構成については、Gateway.headers() を参照してください。
      戻り値:
      提案されたペイロード式(ある場合)
      デフォルト:
      {}
    • mapper

      StringSE mapper
      メソッド引数を Message にマップするための MethodArgsMessageMapper。これが提供されている場合、payload-expression または header は許可されません。カスタムマッパーはメッセージの作成を担当します。
      戻り値:
      推奨されるマッパー Bean 名(ある場合)
      デフォルト:
      ""
    • proxyDefaultMethods

      boolean proxyDefaultMethods
      インターフェースの default メソッドもプロキシする必要があるかどうかを示します。明示的な Gateway アノテーションがメソッドに存在する場合、このオプションとは無関係にプロキシされます。注: JDK クラスのデフォルトメソッド(Function など)はプロキシできますが、MethodHandle.Lookup の内部 Java セキュリティ制限によって MethodHandle を介して呼び出すことはできません。
      戻り値:
      デフォルトのメソッドをプロキシするか、MethodHandle を介して呼び出すブールフラグ。
      導入:
      5.3
      デフォルト:
      false
    • errorOnTimeout

      boolean errorOnTimeout
      errorOnTimeout が true の場合、タイムアウトが発生したときにゲートウェイメソッド呼び出しの結果として null は返されません。代わりに、MessageTimeoutException がスローされるか、エラーメッセージがエラーチャネルにパブリッシュされます。
      導入:
      6.2
      関連事項:
      デフォルト:
      false