クラス MessagingMessageListenerAdapter
- java.lang.Object
-
- org.springframework.amqp.rabbit.listener.adapter.AbstractAdaptableMessageListener
-
- org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter
- 実装されたすべてのインターフェース:
MessageListener
,ChannelAwareMessageListener
public class MessagingMessageListenerAdapter extends AbstractAdaptableMessageListener
構成可能なHandlerAdapter
を呼び出すMessageListener
アダプター。受信
AMQP Message
を Spring のMessage
抽象化にラップし、構成可能なAmqpHeaderMapper
を使用して標準ヘッダーをコピーします。元の
Message
とChannel
は追加の引数として提供されるため、必要に応じてこれらをメソッド引数として注入できます。- 導入:
- 1.4
- 作成者:
- Stephane Nicoll, Gary Russell, Artem Bilan, Kai Stapel
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 protected class
MessagingMessageListenerAdapter.MessagingMessageConverterAdapter
ペイロード抽出をAbstractAdaptableMessageListener.extractMessage(org.springframework.amqp.core.Message message)
に委譲して、後方互換性を確保します。クラス org.springframework.amqp.rabbit.listener.adapter.AbstractAdaptableMessageListener から継承されたネストクラス / インターフェース
AbstractAdaptableMessageListener.ReplyExpressionRoot
フィールドサマリー
クラス org.springframework.amqp.rabbit.listener.adapter.AbstractAdaptableMessageListener から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクター 修飾子 コンストラクター 説明 MessagingMessageListenerAdapter()
MessagingMessageListenerAdapter(java.lang.Object bean, java.lang.reflect.Method method)
MessagingMessageListenerAdapter(java.lang.Object bean, java.lang.reflect.Method method, boolean returnExceptions, RabbitListenerErrorHandler errorHandler)
protected
MessagingMessageListenerAdapter(java.lang.Object bean, java.lang.reflect.Method method, boolean returnExceptions, RabbitListenerErrorHandler errorHandler, boolean batch)
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 protected Message
buildMessage(com.rabbitmq.client.Channel channel, java.lang.Object result, java.lang.reflect.Type genericType)
指定された結果オブジェクトに基づいて、レスポンスとして送信される Rabbit メッセージを作成します。protected HandlerAdapter
getHandlerAdapter()
protected MessagingMessageConverter
getMessagingMessageConverter()
protected void
invokeHandlerAndProcessResult(Message amqpMessage, com.rabbitmq.client.Channel channel, Message<?> message)
boolean
isAsyncReplies()
このリスナーがリクエスト / 応答であり、応答が非同期の場合は true を返します。void
onMessage(Message amqpMessage, com.rabbitmq.client.Channel channel)
受信した Rabbit メッセージを処理するためのコールバック。void
setHandlerAdapter(HandlerAdapter handlerAdapter)
受信Message
を処理するメソッドを呼び出すために使用するHandlerAdapter
を設定します。void
setHeaderMapper(AmqpHeaderMapper headerMapper)
標準 AMQP ヘッダーのマッピングに使用するAmqpHeaderMapper
実装を設定します。void
setMessageConverter(MessageConverter messageConverter)
受信 Rabbit メッセージをリスナーメソッドの引数に変換し、リスナーメソッドから返されたオブジェクトを Rabbit メッセージに戻すコンバーターを設定します。protected Message<?>
toMessagingMessage(Message amqpMessage)
クラス org.springframework.amqp.rabbit.listener.adapter.AbstractAdaptableMessageListener から継承されたメソッド
containerAckMode, convert, doHandleResult, doPublish, extractMessage, getEncoding, getMessageConverter, getReceivedExchange, getReplyContentType, getReplyToAddress, handleListenerException, handleResult, handleResult, isConverterWinsContentType, postProcessChannel, postProcessResponse, sendResponse, setBeanResolver, setBeforeSendReplyPostProcessors, setConverterWinsContentType, setDefaultRequeueRejected, setEncoding, setMandatoryPublish, setRecoveryCallback, setReplyContentType, setReplyPostProcessor, setResponseAddress, setResponseExchange, setResponseRoutingKey, setRetryTemplate
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
インターフェース org.springframework.amqp.rabbit.listener.api.ChannelAwareMessageListener から継承されたメソッド
onMessage, onMessageBatch
インターフェース org.springframework.amqp.core.MessageListener から継承されたメソッド
onMessageBatch
コンストラクターの詳細
MessagingMessageListenerAdapter
public MessagingMessageListenerAdapter()
MessagingMessageListenerAdapter
public MessagingMessageListenerAdapter(java.lang.Object bean, java.lang.reflect.Method method)
MessagingMessageListenerAdapter
public MessagingMessageListenerAdapter(java.lang.Object bean, java.lang.reflect.Method method, boolean returnExceptions, RabbitListenerErrorHandler errorHandler)
MessagingMessageListenerAdapter
protected MessagingMessageListenerAdapter(java.lang.Object bean, java.lang.reflect.Method 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
インスタンス。- 関連事項:
SimpleAmqpHeaderMapper
getMessagingMessageConverter
protected final MessagingMessageConverter getMessagingMessageConverter()
- 戻り値:
- このリスナーの
MessagingMessageConverter
。Message
を変換できます。
setMessageConverter
public void setMessageConverter(MessageConverter messageConverter)
クラスからコピーされた説明:AbstractAdaptableMessageListener
受信 Rabbit メッセージをリスナーメソッドの引数に変換し、リスナーメソッドから返されたオブジェクトを Rabbit メッセージに戻すコンバーターを設定します。デフォルトのコンバーターは、「テキスト」コンテンツ型を処理できる
SimpleMessageConverter
です。- オーバーライド:
- クラス
AbstractAdaptableMessageListener
のsetMessageConverter
- パラメーター:
messageConverter
- メッセージコンバーター。
onMessage
public void onMessage(Message amqpMessage, com.rabbitmq.client.Channel channel) throws java.lang.Exception
インターフェースからコピーされた説明:ChannelAwareMessageListener
受信した Rabbit メッセージを処理するためのコールバック。実装者は、指定されたメッセージを処理し、通常、指定されたセッションを介して応答メッセージを送信します。
- パラメーター:
amqpMessage
- 受信した AMQP メッセージ (非null
)channel
- 基盤となる Rabbit チャネル (ストリームリスナーコンテナーによって呼び出されない限り、null
ではありません)。- 例外:
java.lang.Exception
- 任意。
invokeHandlerAndProcessResult
protected void invokeHandlerAndProcessResult(@Nullable Message amqpMessage, com.rabbitmq.client.Channel channel, Message<?> message) throws java.lang.Exception
- 例外:
java.lang.Exception
buildMessage
protected Message buildMessage(com.rabbitmq.client.Channel channel, java.lang.Object result, java.lang.reflect.Type genericType)
指定された結果オブジェクトに基づいて、レスポンスとして送信される Rabbit メッセージを作成します。- オーバーライド:
- クラス
AbstractAdaptableMessageListener
のbuildMessage
- パラメーター:
channel
- 動作する Rabbit チャネルresult
- リスナーメソッドから返されるメッセージのコンテンツgenericType
- 結果のジェネリクス型。- 戻り値:
- Rabbit
Message
(非null
) - 関連事項:
setMessageConverter(org.springframework.amqp.support.converter.MessageConverter)