クラス MessagingMessageListenerAdapter

java.lang.ObjectSE
org.springframework.amqp.rabbit.listener.adapter.AbstractAdaptableMessageListener
org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter
実装されたすべてのインターフェース:
MessageListenerChannelAwareMessageListener
既知の直属サブクラス
BatchMessagingMessageListenerAdapterStreamMessageListenerAdapter

public class MessagingMessageListenerAdapter extends AbstractAdaptableMessageListener
構成可能な HandlerAdapter を呼び出す MessageListener アダプター。

受信 AMQP Message を Spring の Message 抽象化にラップし、構成可能な AmqpHeaderMapper を使用して標準ヘッダーをコピーします。

元の Message と Channel は追加の引数として提供されるため、必要に応じてこれらをメソッド引数として注入できます。

導入:
1.4
作成者:
Stephane Nicoll, Gary Russell, Artem Bilan, Kai Stapel
  • コンストラクターの詳細

    • MessagingMessageListenerAdapter

      public MessagingMessageListenerAdapter()
    • MessagingMessageListenerAdapter

      public MessagingMessageListenerAdapter(ObjectSE bean, MethodSE method)
    • MessagingMessageListenerAdapter

      public MessagingMessageListenerAdapter(ObjectSE bean, MethodSE method, boolean returnExceptions, RabbitListenerErrorHandler errorHandler)
    • MessagingMessageListenerAdapter

      protected MessagingMessageListenerAdapter(ObjectSE bean, MethodSE method, boolean returnExceptions, RabbitListenerErrorHandler errorHandler, boolean batch)
  • メソッドの詳細

    • setHandlerAdapter

      public void setHandlerAdapter(HandlerAdapter handlerAdapter)
      受信 Message を処理するメソッドを呼び出すために使用する HandlerAdapter を設定します。
      パラメーター:
      handlerAdapter - HandlerAdapter インスタンス。
    • getHandlerAdapter

      protected HandlerAdapter getHandlerAdapter()
    • isAsyncReplies

      public boolean isAsyncReplies()
      インターフェースからコピーされた説明: MessageListener
      このリスナーがリクエスト / 応答であり、応答が非同期の場合は true を返します。
      戻り値:
      非同期返信の場合は true。
    • setHeaderMapper

      public void setHeaderMapper(AmqpHeaderMapper headerMapper)
      標準 AMQP ヘッダーのマッピングに使用する AmqpHeaderMapper 実装を設定します。デフォルトでは、SimpleAmqpHeaderMapper が使用されます。
      パラメーター:
      headerMapper - AmqpHeaderMapper インスタンス。
      関連事項:
    • getMessagingMessageConverter

      protected final MessagingMessageConverter getMessagingMessageConverter()
      戻り値:
      このリスナーの MessagingMessageConverterMessage を変換できます。
    • setMessageConverter

      public void setMessageConverter(MessageConverter messageConverter)
      クラスからコピーされた説明: AbstractAdaptableMessageListener
      受信 Rabbit メッセージをリスナーメソッドの引数に変換し、リスナーメソッドから返されたオブジェクトを Rabbit メッセージに戻すコンバーターを設定します。

      デフォルトのコンバーターは、「テキスト」コンテンツ型を処理できる SimpleMessageConverter です。

      オーバーライド:
      クラス AbstractAdaptableMessageListenersetMessageConverter 
      パラメーター:
      messageConverter - メッセージコンバーター。
    • onMessage

      public void onMessage(Message amqpMessage, com.rabbitmq.client.Channel channel) throws ExceptionSE
      インターフェースからコピーされた説明: ChannelAwareMessageListener
      受信した Rabbit メッセージを処理するためのコールバック。

      実装者は、指定されたメッセージを処理し、通常、指定されたセッションを介して応答メッセージを送信します。

      パラメーター:
      amqpMessage - 受信した AMQP メッセージ (非 null)
      channel - 基盤となる Rabbit チャネル (ストリームリスナーコンテナーによって呼び出されない限り、null ではありません)。
      例外:
      ExceptionSE - 任意。
    • asyncFailure

      protected void asyncFailure(Message request, com.rabbitmq.client.Channel channel, ThrowableSE t, ObjectSE source)
      オーバーライド:
      クラス AbstractAdaptableMessageListenerasyncFailure 
    • invokeHandlerAndProcessResult

      protected void invokeHandlerAndProcessResult(@Nullable Message amqpMessage, com.rabbitmq.client.Channel channel, Message<?> message) throws ExceptionSE
      例外:
      ExceptionSE
    • toMessagingMessage

      protected Message<?> toMessagingMessage(Message amqpMessage)
    • buildMessage

      protected Message buildMessage(com.rabbitmq.client.Channel channel, ObjectSE result, TypeSE genericType)
      指定された結果オブジェクトに基づいて、レスポンスとして送信される Rabbit メッセージを作成します。
      オーバーライド:
      クラス AbstractAdaptableMessageListenerbuildMessage 
      パラメーター:
      channel - 動作する Rabbit チャネル
      result - リスナーメソッドから返されるメッセージのコンテンツ
      genericType - 結果のジェネリクス型。
      戻り値:
      Rabbit Message (非 null)
      関連事項: