クラス ChannelPublishingJmsMessageListener

java.lang.ObjectSE
org.springframework.integration.jms.ChannelPublishingJmsMessageListener
実装されたすべてのインターフェース:
AwareBeanFactoryAwareInitializingBeanNamedComponentTrackableComponentSessionAwareMessageListener<MessageEE>

public class ChannelPublishingJmsMessageListener extends ObjectSE implements SessionAwareMessageListener<MessageEE>, InitializingBean, TrackableComponent, BeanFactoryAware
JMS メッセージを Spring Integration メッセージに変換し、そのメッセージをチャネルに送信する JMS MessageListener。'expectReply' 値が true の場合、Spring Integration 応答メッセージも待機し、それを JMS 応答に変換します。
作成者:
Mark Fisher, Juergen Hoeller, Oleg Zhurakousky, Artem Bilan, Gary Russell
  • フィールドの詳細

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

    • ChannelPublishingJmsMessageListener

      public ChannelPublishingJmsMessageListener()
  • メソッドの詳細

    • setExpectReply

      public void setExpectReply(boolean expectReply)
      JMS 応答メッセージが予期されるかどうかを指定します。
      パラメーター:
      expectReply - 応答が期待される場合は true。
    • setComponentName

      public void setComponentName(StringSE componentName)
    • setRequestChannel

      public void setRequestChannel(MessageChannel requestChannel)
    • setRequestChannelName

      public void setRequestChannelName(StringSE requestChannelName)
    • setReplyChannel

      public void setReplyChannel(MessageChannel replyChannel)
    • setReplyChannelName

      public void setReplyChannelName(StringSE replyChannelName)
    • setErrorChannel

      public void setErrorChannel(MessageChannel errorChannel)
    • setErrorChannelName

      public void setErrorChannelName(StringSE errorChannelName)
    • setRequestTimeout

      public void setRequestTimeout(long requestTimeout)
    • setReplyTimeout

      public void setReplyTimeout(long replyTimeout)
    • setErrorOnTimeout

      public void setErrorOnTimeout(boolean errorOnTimeout)
    • setShouldTrack

      public void setShouldTrack(boolean shouldTrack)
      次で指定:
      インターフェース TrackableComponentsetShouldTrack 
    • getComponentName

      public StringSE getComponentName()
      次で指定:
      インターフェース NamedComponentgetComponentName 
    • getComponentType

      public StringSE getComponentType()
      次で指定:
      インターフェース NamedComponentgetComponentType 
    • setDefaultReplyDestination

      public void setDefaultReplyDestination(DestinationEE defaultReplyDestination)
      返信メッセージを送信するデフォルトの返信先を設定します。これは、"JMSReplyTo" フィールドを持たないリクエストメッセージの場合に適用されます。
      パラメーター:
      defaultReplyDestination - デフォルトの返信先。
    • setDefaultReplyQueueName

      public void setDefaultReplyQueueName(StringSE destinationName)
      返信メッセージを送信するデフォルトの返信キューの名前を設定します。これは、"JMSReplyTo" フィールドを持たないリクエストメッセージの場合に適用されます。

      または、JMS Destination オブジェクトを "defaultReplyDestination" として指定します。

      パラメーター:
      destinationName - デフォルトの返信先名。
      関連事項:
    • setDefaultReplyTopicName

      public void setDefaultReplyTopicName(StringSE destinationName)
      返信メッセージを送信するデフォルトの返信トピックの名前を設定します。これは、"JMSReplyTo" フィールドを持たないリクエストメッセージの場合に適用されます。

      または、JMS Destination オブジェクトを "defaultReplyDestination" として指定します。

      パラメーター:
      destinationName - デフォルトの返信トピック名。
      関連事項:
    • setReplyTimeToLive

      public void setReplyTimeToLive(long replyTimeToLive)
      JMS 応答メッセージの存続時間プロパティを指定します。
      パラメーター:
      replyTimeToLive - 生存する応答時間。
      関連事項:
    • setReplyPriority

      public void setReplyPriority(int replyPriority)
      JMS 応答メッセージの優先順位の値を指定します。
      パラメーター:
      replyPriority - 返信の優先度。
      関連事項:
    • setReplyDeliveryPersistent

      public void setReplyDeliveryPersistent(boolean replyDeliveryPersistent)
      JMS 応答メッセージの配信モードを指定します。
      パラメーター:
      replyDeliveryPersistent - 永続的な応答メッセージの場合は true。
      関連事項:
    • setCorrelationKey

      public void setCorrelationKey(StringSE correlationKey)
      リクエストメッセージから応答メッセージにコピーされる JMS プロパティの名前を指定します。この値が NULL(デフォルト)の場合、新しく作成された応答メッセージの JMSCorrelationID プロパティにすでに値がない場合を除いて、リクエストの JMSMessageID が応答の JMSCorrelationID にコピーされます。この場合、何もコピーされません。代わりに、リクエストメッセージの JMSCorrelationID を応答メッセージの JMSCorrelationID にコピーする必要がある場合は、この値を "JMSCorrelationID" に設定する必要があります。その他の値はすべて、JMS 文字列プロパティとして扱われ、同じプロパティ名でリクエストメッセージから応答メッセージにそのままコピーされます。
      パラメーター:
      correlationKey - 相関キー。
    • setExplicitQosEnabledForReplies

      public void setExplicitQosEnabledForReplies(boolean explicitQosEnabledForReplies)
      応答に対して明示的な QoS を有効にするかどうかを指定します(timeToLive、priority、deliveryMode 設定)。
      パラメーター:
      explicitQosEnabledForReplies - 明示的な QoS を有効にする場合は true。
    • setDestinationResolver

      public void setDestinationResolver(DestinationResolver destinationResolver)
      このリスナーの応答宛先名を解決するために使用する必要がある DestinationResolver を設定します。

      デフォルトのリゾルバーは DynamicDestinationResolver です。宛先名を JNDI ロケーションとして解決するための JndiDestinationResolver を指定します。

      パラメーター:
      destinationResolver - 宛先リゾルバー。
      関連事項:
    • setReplyToExpression

      public void setReplyToExpression(Expression replyToExpression)
      Message.getJMSReplyTo() が null の場合、リクエスト MessageEE からの "replyTo" 宛先をルート評価オブジェクトとして解決するための SpEL 式を設定します。
      パラメーター:
      replyToExpression - "replyTo" 宛先の SpEL 式。
      導入:
      6.1
    • setMessageConverter

      public void setMessageConverter(MessageConverter messageConverter)
      JMS メッセージと Spring Integration メッセージ間の変換時に使用する MessageConverter 実装を提供します。何も指定されていない場合は、SimpleMessageConverter が使用されます。
      パラメーター:
      messageConverter - メッセージコンバーター。
    • setHeaderMapper

      public void setHeaderMapper(JmsHeaderMapper headerMapper)
      JMS メッセージと Spring Integration メッセージ間の変換時に使用する JmsHeaderMapper 実装を提供します。何も指定されていない場合は、DefaultJmsHeaderMapper が使用されます。
      パラメーター:
      headerMapper - ヘッダーマッパー。
    • setExtractRequestPayload

      public void setExtractRequestPayload(boolean extractRequestPayload)
      Spring Integration メッセージに変換する前に JMS リクエストメッセージの本文を抽出するかどうかを指定します。この値は、デフォルトで true に設定されています。JMS メッセージ自体を Spring Integration メッセージペイロードとして送信するには、これを false に設定します。
      パラメーター:
      extractRequestPayload - リクエストのペイロードを抽出する必要がある場合は true。
    • setExtractReplyPayload

      public void setExtractReplyPayload(boolean extractReplyPayload)
      JMS メッセージに変換する前に、Spring Integration 応答メッセージのペイロードを抽出するかどうかを指定します。この値は、デフォルトで true に設定されています。Spring Integration メッセージ自体を JMS メッセージの本文として送信するには、これを false に設定します。
      パラメーター:
      extractReplyPayload - 応答ペイロードを抽出する必要がある場合は true。
    • setMetricsCaptor

      public void setMetricsCaptor(MetricsCaptor captor)
    • setObservationRegistry

      public void setObservationRegistry(io.micrometer.observation.ObservationRegistry observationRegistry)
    • setRequestReplyObservationConvention

      public void setRequestReplyObservationConvention(@Nullable MessageRequestReplyReceiverObservationConvention observationConvention)
    • setReceiverObservationConvention

      public void setReceiverObservationConvention(@Nullable MessageReceiverObservationConvention observationConvention)
    • setRetryTemplate

      public void setRetryTemplate(org.springframework.retry.support.RetryTemplate retryTemplate)
      アダプター内でメッセージ配信を再試行するために使用する RetryTemplate を設定します。コンテナーレベルでの再試行の追加とは異なり、これを ErrorMessageSendingRecovererRecoveryCallback とともに使用して、再試行が終了した後にエラーチャネルに公開できます。通常、ここで再試行を使用する場合はエラーチャネルを設定しないでください。代わりに、RecoveryCallback を使用してください。
      パラメーター:
      retryTemplate - テンプレート。
      導入:
      6.3
      関連事項:
    • setRecoveryCallback

      public void setRecoveryCallback(org.springframework.retry.RecoveryCallback<Message<?>> recoveryCallback)
      アダプター内で再試行を使用する場合は、RecoveryCallback を設定します。
      パラメーター:
      recoveryCallback - コールバック。
      導入:
      6.3
      関連事項:
    • setBeanFactory

      public void setBeanFactory(BeanFactory beanFactory) throws BeansException
      次で指定:
      インターフェース BeanFactoryAwaresetBeanFactory 
      例外:
      BeansException
    • onMessage

      public void onMessage(MessageEE jmsMessage, SessionEE session) throws JMSExceptionEE
      次で指定:
      インターフェース SessionAwareMessageListener<MessageEE>onMessage 
      例外:
      JMSExceptionEE
    • afterPropertiesSet

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

      protected void start()
    • stop

      protected void stop()