クラス JmsMessageEndpointManager

java.lang.ObjectSE
org.springframework.jca.endpoint.GenericMessageEndpointManager
org.springframework.jms.listener.endpoint.JmsMessageEndpointManager
実装されたすべてのインターフェース:
AwareBeanNameAwareDisposableBeanInitializingBeanLifecyclePhasedSmartLifecycleMessageListenerContainer

public class JmsMessageEndpointManager extends GenericMessageEndpointManager implements BeanNameAware, MessageListenerContainer
汎用 JCA 1.5 GenericMessageEndpointManager の拡張。ActivationSpec 構成の JMS 固有のサポートを追加します。

エンドポイントをアクティブ化するためにプロバイダー固有の JCA 1.5 ActivationSpec オブジェクトに変換される共通の JmsActivationSpecConfig オブジェクトを定義できます。

: この JCA ベースのエンドポイントマネージャーは、標準の JMS MessageListenerEE エンドポイントのみをサポートしています。JCA エンドポイント管理規約で現在の JMS SessionEE を取得できないため、Spring の SessionAwareMessageListener バリアントサポートされていませ

導入:
2.5
作成者:
Juergen Hoeller, Stephane Nicoll
関連事項:
  • コンストラクターの詳細

    • JmsMessageEndpointManager

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

    • setMessageListener

      public void setMessageListener(MessageListenerEE messageListener)
      このエンドポイントの JMS MessageListener を設定します。

      これは、専用 JmsMessageEndpointFactory を構成するためのショートカットです。

      関連事項:
    • getMessageListener

      public MessageListenerEE getMessageListener()
      このエンドポイントの JMS MessageListener を返します。
    • setTransactionManager

      public void setTransactionManager(ObjectSE transactionManager)
      エンドポイント呼び出しのラップに使用する XA トランザクションマネージャーを設定し、そのような各トランザクションにエンドポイントリソースを参加させます。

      渡されるオブジェクトは、Spring の TransactionFactory インターフェースを実装するトランザクションマネージャー、またはプレーンな TransactionManagerEE です。

      トランザクションマネージャーが指定されていない場合、エンドポイント呼び出しは XA トランザクションにラップされません。特定のプロバイダーのローカルトランザクションオプションについては、リソースプロバイダーの ActivationSpec ドキュメントを参照してください。

      これは、専用 JmsMessageEndpointFactory を構成するためのショートカットです。

      関連事項:
    • setActivationSpecFactory

      public void setActivationSpecFactory(@Nullable JmsActivationSpecFactory activationSpecFactory)
      具体的な JCA 1.5 ActivationSpec オブジェクトのファクトリを設定し、JmsActivationSpecConfig オブジェクトに基づいて JCA ActivationSpecs を作成します。

      このファクトリは、具体的な JMS プロバイダ (たとえば ActiveMQ) に依存します。デフォルトの実装では、プロバイダのクラス名から ActivationSpec のクラス名を推測し (たとえば同じパッケージの "ActiveMQResourceAdapter" → "ActiveMQActivationSpec" )、JCA 1.5 仕様の ActivationSpec 属性 (さらにいくつかの自動検出型ベンダー固有属性) を設定します。

      関連事項:
    • setDestinationResolver

      public void setDestinationResolver(DestinationResolver destinationResolver)
      宛先名の解決に使用する DestinationResolver を JCA 1.5 ActivationSpec の「宛先」プロパティに設定します。

      指定しない場合、宛先名は単に文字列として渡されます。指定した場合、宛先名は最初に Destination オブジェクトに解決されます。

      DestinationResolver は通常 JmsActivationSpecFactory で指定されることに注意してください(StandardJmsActivationSpecFactory.setDestinationResolver(org.springframework.jms.support.destination.DestinationResolver) を参照)。これは、デフォルトの JmsActivationSpecFactory をパラメーター化するためのショートカットです。以前に設定された可能性があるカスタム JmsActivationSpecFactory を置き換えます。

      関連事項:
    • setActivationSpecConfig

      public void setActivationSpecConfig(@Nullable JmsActivationSpecConfig activationSpecConfig)
      このエンドポイントマネージャーがそのリスナをアクティブにするために使用する必要がある JmsActivationSpecConfig オブジェクトを指定します。

      この構成オブジェクトは、JmsActivationSpecFactory を介して具象 JCA 1.5 ActivationSpec オブジェクトに変換されます。

    • getActivationSpecConfig

      @Nullable public JmsActivationSpecConfig getActivationSpecConfig()
      このエンドポイントマネージャーがリスナーをアクティブにするために使用する必要がある JmsActivationSpecConfig オブジェクトを返します。何も設定されていない場合は null を返します。
    • setBeanName

      public void setBeanName(StringSE beanName)
      このメッセージエンドポイントの名前を設定します。Spring の Bean ファクトリ内で定義されると、Bean 名が自動的に入力されます。
      次で指定:
      インターフェース BeanNameAwaresetBeanName 
      パラメーター:
      beanName - ファクトリ内の Bean の名前。この名前は、ファクトリで使用される実際の Bean 名であり、最初に指定した名前とは異なる場合があります。特に内部 Bean 名の場合、実際の Bean 名は "#..." サフィックスを追加することで一意になります。必要に応じて、BeanFactoryUtils.originalBeanName(String) メソッドを使用して、元の Bean 名(サフィックスなし)を抽出します。
    • afterPropertiesSet

      public void afterPropertiesSet() throws ResourceExceptionEE
      クラスからコピーされた説明: GenericMessageEndpointManager
      メッセージのエンドポイントを準備し、"autoStartup" フラグが "true" に設定されている場合は、それを自動的にアクティブにします。
      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
      オーバーライド:
      クラス GenericMessageEndpointManagerafterPropertiesSet 
      例外:
      ResourceExceptionEE
    • setupMessageListener

      public void setupMessageListener(ObjectSE messageListener)
      インターフェースからコピーされた説明: MessageListenerContainer
      使用するメッセージリスナーを設定します。そのメッセージリスナー型がサポートされていない場合、IllegalArgumentExceptionSE をスローします。
      次で指定:
      インターフェース MessageListenerContainersetupMessageListener 
    • getMessageConverter

      @Nullable public MessageConverter getMessageConverter()
      インターフェースからコピーされた説明: MessageListenerContainer
      MessageEE があれば、それを変換するために使用できる MessageConverter を返します。
      次で指定:
      インターフェース MessageListenerContainergetMessageConverter 
    • getDestinationResolver

      @Nullable public DestinationResolver getDestinationResolver()
      インターフェースからコピーされた説明: MessageListenerContainer
      名前で宛先を解決するために使用する DestinationResolver を返します。
      次で指定:
      インターフェース MessageListenerContainergetDestinationResolver 
    • isPubSubDomain

      public boolean isPubSubDomain()
      インターフェースからコピーされた説明: MessageListenerContainer
      パブリッシュ / サブスクライブドメイン(TopicsEE)が使用されているかどうかを返します。それ以外の場合は、ポイントツーポイントドメイン(QueuesEE)が使用されます。
      次で指定:
      インターフェース MessageListenerContainerisPubSubDomain 
    • isReplyPubSubDomain

      public boolean isReplyPubSubDomain()
      インターフェースからコピーされた説明: MessageListenerContainer
      返信先がパブリッシュ / サブスクライブドメイン(TopicsEE)を使用するかどうかを返します。それ以外の場合は、ポイントツーポイントドメイン(QueuesEE)が使用されます。

      デフォルトでは、値は MessageListenerContainer.isPubSubDomain() と同じです。

      次で指定:
      インターフェース MessageListenerContainerisReplyPubSubDomain 
    • getReplyQosSettings

      @Nullable public QosSettings getReplyQosSettings()
      インターフェースからコピーされた説明: MessageListenerContainer
      応答を送信するときに使用する QosSettings を返すか、ブローカーのデフォルトを使用する必要がある場合は null を返します。
      次で指定:
      インターフェース MessageListenerContainergetReplyQosSettings