クラス AsyncRabbitTemplate

java.lang.ObjectSE
org.springframework.amqp.rabbit.AsyncRabbitTemplate
実装されたすべてのインターフェース:
AsyncAmqpTemplateMessageListenerRabbitTemplate.ConfirmCallbackRabbitTemplate.ReturnsCallbackChannelAwareMessageListenerAwareBeanNameAwareLifecyclePhasedSmartLifecycle

CompletableFutureSE を返す非同期の送受信操作を提供し、発信者が後で get() またはコールバックを使用して応答を取得できるようにします。

確認が有効になっている場合、未来にはそれ自体が CompletableFutureSE である確認プロパティがあります。パブリッシャーが確認する前に返信が受信された場合、返信はメッセージが公開されたことを暗黙的に示しているため、確認は破棄されます。

返された (配信不能な) リクエストメッセージは、ExecutionExceptionSEAmqpMessageReturnedException 原因として提示されます。

内部的には、テンプレートは内部で提供または構築された RabbitTemplate および AbstractMessageListenerContainer ( SimpleMessageListenerContainer ) を使用します。外部 RabbitTemplate が提供され、確認 /return が有効になっている場合、このオブジェクトはコールバックである必要があるため、以前にコールバックが登録されていてはなりません。

導入:
1.6
作成者:
Gary Russell, Artem Bilan, FengYang Su
  • フィールドの詳細

  • コンストラクターの詳細

    • AsyncRabbitTemplate

      public AsyncRabbitTemplate(ConnectionFactory connectionFactory, StringSE exchange, StringSE routingKey, StringSE replyQueue)
      提供された引数を使用してインスタンスを構築します。返信は、返信キュー名をルーティングキーとして使用して、デフォルトの交換にルーティングされます。
      パラメーター:
      connectionFactory - 接続ファクトリ。
      exchange - リクエストが送信されるデフォルトの交換。
      routingKey - デフォルトのルーティングキー。
      replyQueue - 応答をリッスンする応答キューの名前。
    • AsyncRabbitTemplate

      public AsyncRabbitTemplate(ConnectionFactory connectionFactory, StringSE exchange, StringSE routingKey, StringSE replyQueue, StringSE replyAddress)
      提供された引数を使用してインスタンスを構築します。"replyAddress" が null の場合、返信は、返信キュー名をルーティングキーとして使用してデフォルトの交換にルーティングされます。それ以外の場合は、exchange/routingKey の形式にする必要があり、メッセージが応答キューにルーティングされるようにする必要があります。
      パラメーター:
      connectionFactory - 接続ファクトリ。
      exchange - リクエストが送信されるデフォルトの交換。
      routingKey - デフォルトのルーティングキー。
      replyQueue - 応答をリッスンする応答キューの名前。
      replyAddress - 返信アドレス (exchange/routingKey)。
    • AsyncRabbitTemplate

      public AsyncRabbitTemplate(RabbitTemplate template, AbstractMessageListenerContainer container)
      提供された引数を使用してインスタンスを構築します。コンテナーがリッスンするように構成されている最初のキューは、応答キューとして使用されます。返信は、ルーティングキーとしてそのキュー名を持つデフォルトの交換を使用してルーティングされます。
      パラメーター:
      template - RabbitTemplate
      container - AbstractMessageListenerContainer
    • AsyncRabbitTemplate

      public AsyncRabbitTemplate(RabbitTemplate template, AbstractMessageListenerContainer container, StringSE replyAddress)
      提供された引数を使用してインスタンスを構築します。コンテナーがリッスンするように構成されている最初のキューは、応答キューとして使用されます。"replyAddress" が null の場合、返信はルーティングキーとしてそのキュー名を持つデフォルトの交換を使用してルーティングされます。それ以外の場合は、exchange/routingKey の形式にする必要があり、メッセージが応答キューにルーティングされるようにする必要があります。
      パラメーター:
      template - RabbitTemplate
      container - AbstractMessageListenerContainer
      replyAddress - 返信アドレス。
    • AsyncRabbitTemplate

      public AsyncRabbitTemplate(ConnectionFactory connectionFactory, StringSE exchange, StringSE routingKey)
      提供された引数を使用してインスタンスを構築します。返信には "Direct replyTo" が使用されます。
      パラメーター:
      connectionFactory - 接続ファクトリ。
      exchange - リクエストが送信されるデフォルトの交換。
      routingKey - デフォルトのルーティングキー。
      導入:
      2.0
    • AsyncRabbitTemplate

      public AsyncRabbitTemplate(RabbitTemplate template)
      提供された引数を使用してインスタンスを構築します。返信には "Direct replyTo" が使用されます。
      パラメーター:
      template - RabbitTemplate
      導入:
      2.0
  • メソッドの詳細

    • setAutoStartup

      public void setAutoStartup(boolean autoStartup)
      パラメーター:
      autoStartup - 自動開始の場合は true。
      関連事項:
    • setPhase

      public void setPhase(int phase)
      パラメーター:
      phase - フェーズ。
      関連事項:
    • setMandatory

      public void setMandatory(boolean mandatory)
      AmqpMessageReturnedException の形式で配信できない返されたメッセージの受信を有効にするには、true に設定します。
      パラメーター:
      mandatory - return を有効にする場合は true。
    • setMandatoryExpression

      public void setMandatoryExpression(Expression mandatoryExpression)
      パラメーター:
      mandatoryExpression - 各リクエストメッセージに対して評価する SpEL Expression。評価の結果は、boolean 値でなければなりません。
      導入:
      2.0
    • setMandatoryExpressionString

      public void setMandatoryExpressionString(StringSE mandatoryExpression)
      パラメーター:
      mandatoryExpression - 各リクエストメッセージに対して評価する SpEL Expression。評価の結果は、boolean 値でなければなりません。
      導入:
      2.0
    • setEnableConfirms

      public void setEnableConfirms(boolean enableConfirms)
      パブリッシャーの確認を有効にするには、true に設定します。有効にすると、送受信操作によって返される RabbitFuture の confirm プロパティに CompletableFuture<Boolean> が含まれます。
      パラメーター:
      enableConfirms - パブリッシャーの確認を有効にする場合は true。
    • getBeanName

      public StringSE getBeanName()
    • setBeanName

      public void setBeanName(StringSE beanName)
      次で指定:
      インターフェース BeanNameAwaresetBeanName 
    • getConnectionFactory

      public ConnectionFactory getConnectionFactory()
      戻り値:
      RabbitTemplate 内の基礎となる接続ファクトリへの参照。
    • setReceiveTimeout

      public void setReceiveTimeout(long receiveTimeout)
      受信タイムアウトを設定します。このタイムアウトが期限切れになると、send および receive メソッドによって返される未来はキャンセルされます。<= 0 は、先物が期限切れにならないことを意味します。応答が受信されない場合、これによりメモリリークが発生することに注意してください。デフォルト: 30000 (30 秒)。
      パラメーター:
      receiveTimeout - ミリ秒単位のタイムアウト。
    • setTaskScheduler

      public void setTaskScheduler(TaskScheduler taskScheduler)
      タスクスケジューラを設定して、タイムアウトした先物を期限切れにします。
      パラメーター:
      taskScheduler - タスクスケジューラ
      関連事項:
    • getMessageConverter

      public MessageConverter getMessageConverter()
      戻り値:
      基礎となる RabbitTemplateMessageConverter への参照。
    • getRabbitTemplate

      public RabbitTemplate getRabbitTemplate()
      送信に使用される基礎となる RabbitTemplate を返します。
      戻り値:
      テンプレート。
      導入:
      2.2
    • sendAndReceive

      public RabbitMessageFuture sendAndReceive(Message message)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      デフォルトのルーティングキーを使用して、デフォルトの交換にメッセージを送信します。メッセージに correlationId プロパティが含まれている場合は、一意である必要があります。
      次で指定:
      インターフェース AsyncAmqpTemplatesendAndReceive 
      パラメーター:
      message - メッセージ。
      戻り値:
      CompletableFutureSE
    • sendAndReceive

      public RabbitMessageFuture sendAndReceive(StringSE routingKey, Message message)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      指定されたルーティングキーを使用して、デフォルトの交換にメッセージを送信します。メッセージに correlationId プロパティが含まれている場合は、一意である必要があります。
      次で指定:
      インターフェース AsyncAmqpTemplatesendAndReceive 
      パラメーター:
      routingKey - ルーティングキー。
      message - メッセージ。
      戻り値:
      CompletableFutureSE
    • sendAndReceive

      public RabbitMessageFuture sendAndReceive(StringSE exchange, StringSE routingKey, Message message)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      指定された交換およびルーティングキーにメッセージを送信します。メッセージに correlationId プロパティが含まれている場合は、一意である必要があります。
      次で指定:
      インターフェース AsyncAmqpTemplatesendAndReceive 
      パラメーター:
      exchange - 交換。
      routingKey - ルーティングキー。
      message - メッセージ。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceive

      public <C> RabbitConverterFuture<C> convertSendAndReceive(ObjectSE object)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      オブジェクトをメッセージに変換し、デフォルトのルーティングキーを使用してデフォルトの交換に送信します。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceive 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      object - 変換するオブジェクト。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceive

      public <C> RabbitConverterFuture<C> convertSendAndReceive(StringSE routingKey, ObjectSE object)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      オブジェクトをメッセージに変換し、指定されたルーティングキーを使用してデフォルトの交換に送信します。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceive 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      routingKey - ルーティングキー。
      object - 変換するオブジェクト。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceive

      public <C> RabbitConverterFuture<C> convertSendAndReceive(StringSE exchange, StringSE routingKey, ObjectSE object)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      オブジェクトをメッセージに変換し、指定された交換およびルーティングキーに送信します。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceive 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      exchange - 交換。
      routingKey - ルーティングキー。
      object - 変換するオブジェクト。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceive

      public <C> RabbitConverterFuture<C> convertSendAndReceive(ObjectSE object, MessagePostProcessor messagePostProcessor)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      オブジェクトをメッセージに変換し、MessagePostProcessor を呼び出した後、デフォルトのルーティングキーを使用してデフォルトの交換に送信します。ポストプロセッサーが correlationId プロパティを追加する場合、一意である必要があります。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceive 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      object - 変換するオブジェクト。
      messagePostProcessor - ポストプロセッサー。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceive

      public <C> RabbitConverterFuture<C> convertSendAndReceive(StringSE routingKey, ObjectSE object, MessagePostProcessor messagePostProcessor)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      オブジェクトをメッセージに変換し、MessagePostProcessor を呼び出した後、指定されたルーティングキーを使用してデフォルトの交換に送信します。ポストプロセッサーが correlationId プロパティを追加する場合、一意である必要があります。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceive 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      routingKey - ルーティングキー。
      object - 変換するオブジェクト。
      messagePostProcessor - ポストプロセッサー。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceive

      public <C> RabbitConverterFuture<C> convertSendAndReceive(StringSE exchange, StringSE routingKey, ObjectSE object, MessagePostProcessor messagePostProcessor)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      MessagePostProcessor を呼び出した後、オブジェクトをメッセージに変換し、指定された交換およびルーティングキーに送信します。ポストプロセッサーが correlationId プロパティを追加する場合、一意である必要があります。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceive 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      exchange - 交換
      routingKey - ルーティングキー。
      object - 変換するオブジェクト。
      messagePostProcessor - ポストプロセッサー。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceiveAsType

      public <C> RabbitConverterFuture<C> convertSendAndReceiveAsType(ObjectSE object, ParameterizedTypeReference<C> responseType)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      オブジェクトをメッセージに変換し、デフォルトのルーティングキーを使用してデフォルトの交換に送信します。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceiveAsType 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      object - 変換するオブジェクト。
      responseType - レスポンス型。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceiveAsType

      public <C> RabbitConverterFuture<C> convertSendAndReceiveAsType(StringSE routingKey, ObjectSE object, ParameterizedTypeReference<C> responseType)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      オブジェクトをメッセージに変換し、指定されたルーティングキーを使用してデフォルトの交換に送信します。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceiveAsType 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      routingKey - ルーティングキー。
      object - 変換するオブジェクト。
      responseType - レスポンス型。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceiveAsType

      public <C> RabbitConverterFuture<C> convertSendAndReceiveAsType(StringSE exchange, StringSE routingKey, ObjectSE object, ParameterizedTypeReference<C> responseType)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      オブジェクトをメッセージに変換し、指定された交換およびルーティングキーに送信します。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceiveAsType 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      exchange - 交換。
      routingKey - ルーティングキー。
      object - 変換するオブジェクト。
      responseType - レスポンス型。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceiveAsType

      public <C> RabbitConverterFuture<C> convertSendAndReceiveAsType(ObjectSE object, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<C> responseType)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      オブジェクトをメッセージに変換し、MessagePostProcessor を呼び出した後、デフォルトのルーティングキーを使用してデフォルトの交換に送信します。ポストプロセッサーが correlationId プロパティを追加する場合、一意である必要があります。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceiveAsType 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      object - 変換するオブジェクト。
      messagePostProcessor - ポストプロセッサー。
      responseType - レスポンス型。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceiveAsType

      public <C> RabbitConverterFuture<C> convertSendAndReceiveAsType(StringSE routingKey, ObjectSE object, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<C> responseType)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      オブジェクトをメッセージに変換し、MessagePostProcessor を呼び出した後、指定されたルーティングキーを使用してデフォルトの交換に送信します。ポストプロセッサーが correlationId プロパティを追加する場合、一意である必要があります。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceiveAsType 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      routingKey - ルーティングキー。
      object - 変換するオブジェクト。
      messagePostProcessor - ポストプロセッサー。
      responseType - レスポンス型。
      戻り値:
      CompletableFutureSE
    • convertSendAndReceiveAsType

      public <C> RabbitConverterFuture<C> convertSendAndReceiveAsType(StringSE exchange, StringSE routingKey, ObjectSE object, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<C> responseType)
      インターフェースからコピーされた説明: AsyncAmqpTemplate
      MessagePostProcessor を呼び出した後、オブジェクトをメッセージに変換し、指定された交換およびルーティングキーに送信します。ポストプロセッサーが correlationId プロパティを追加する場合、一意である必要があります。
      次で指定:
      インターフェース AsyncAmqpTemplateconvertSendAndReceiveAsType 
      型パラメーター:
      C - 期待される結果型。
      パラメーター:
      exchange - 交換
      routingKey - ルーティングキー。
      object - 変換するオブジェクト。
      messagePostProcessor - ポストプロセッサー。
      responseType - レスポンス型。
      戻り値:
      CompletableFutureSE
    • start

      public void start()
      次で指定:
      インターフェース Lifecyclestart 
    • stop

      public void stop()
      次で指定:
      インターフェース Lifecyclestop 
    • isRunning

      public boolean isRunning()
      次で指定:
      インターフェース LifecycleisRunning 
    • getPhase

      public int getPhase()
      次で指定:
      インターフェース PhasedgetPhase 
      次で指定:
      インターフェース SmartLifecyclegetPhase 
    • isAutoStartup

      public boolean isAutoStartup()
      次で指定:
      インターフェース SmartLifecycleisAutoStartup 
    • onMessage

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

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

      次で指定:
      インターフェース ChannelAwareMessageListeneronMessage 
      パラメーター:
      message - 受信した AMQP メッセージ (非 null)
      channel - 基盤となる Rabbit チャネル (ストリームリスナーコンテナーによって呼び出されない限り、null ではありません)。
    • returnedMessage

      public void returnedMessage(ReturnedMessage returned)
      インターフェースからコピーされた説明: RabbitTemplate.ReturnsCallback
      返されたメッセージコールバック。
      次で指定:
      インターフェース RabbitTemplate.ReturnsCallbackreturnedMessage 
      パラメーター:
      returned - 返されたメッセージとメタデータ。
    • confirm

      public void confirm(@NonNull CorrelationData correlationData, boolean ack, @Nullable StringSE cause)
      インターフェースからコピーされた説明: RabbitTemplate.ConfirmCallback
      確認のコールバック。
      次で指定:
      インターフェース RabbitTemplate.ConfirmCallbackconfirm 
      パラメーター:
      correlationData - コールバックの相関データ。
      ack - ack の場合は true、nack の場合は false
      cause - オプションの原因。nack の場合は利用可能な場合、それ以外の場合は null。
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString