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


@TargetSE({METHODSE,TYPESE}) @RetentionSE(RUNTIMESE) public @interface Publisher
メソッド、またはクラスレベルで適用される場合はすべての public メソッドがメッセージをパブリッシュする必要があることを示すアノテーション。

デフォルトでは、メッセージはメソッド呼び出しの戻り値から作成され、channel() 属性で指定されたチャネルに送信されます。ただし、@Payload アノテーションと @Header アノテーションの両方の組み合わせを使用して、メッセージ構造をさらに管理することができます。例については、リファレンスマニュアルを参照してください。

メモ: @Gateway とは異なり、このアノテーションは、既存のサービスとそのメソッド実装の AOP アドバイスを生成するために使用されます。メッセージの送信は、実際のメソッド呼び出しの副作用であり、メソッドが戻った後に呼び出されます。推奨される方法は、メッセージングの相互作用を認識していません。

同等の XML は <int:publishing-interceptor> です

導入:
2.0
作成者:
Mark Fisher, Jeff Maxwell
関連事項:
  • 要素の詳細

    • value

      @AliasFor("channel") StringSE value
      channel() 属性のエイリアス。
      戻り値:
      メッセージが公開されるメッセージチャネルの名前。
      導入:
      5.0.4
      デフォルト:
      ""
    • channel

      @AliasFor("value") StringSE channel
      戻り値:
      メッセージが公開されるメッセージチャネルの名前。
      デフォルト:
      ""