クラス DefaultJmsActivationSpecFactory

java.lang.ObjectSE
org.springframework.jms.listener.endpoint.StandardJmsActivationSpecFactory
org.springframework.jms.listener.endpoint.DefaultJmsActivationSpecFactory
実装されているすべてのインターフェース:
JmsActivationSpecFactory

public class DefaultJmsActivationSpecFactory extends StandardJmsActivationSpecFactory
JmsActivationSpecFactory インターフェースのデフォルト実装。JCA 1.5 仕様で定義されている標準 JMS プロパティと、よく知られているベンダー固有のプロバイダープロパティの自動検出による Spring の拡張された "maxConcurrency" および "prefetchSize" 設定をサポートします。

ActivationSpec ファクトリは、ActiveMQ などの具体的な JMS プロバイダに実質的に依存します。このデフォルトの実装では、プロバイダのクラス名 (同じパッケージ内の "ActiveMQResourceAdapter" → "ActiveMQActivationSpec"、または ResourceAdapter クラスと同じパッケージ内の "ActivationSpecImpl" ) から ActivationSpec クラス名を推測し、JCA 1.5 仕様 (付録 B) で提案されているように ActivationSpec プロパティを設定します。これらのデフォルトの命名規則が適用されない場合は、'activationSpecClass' プロパティを明示的に指定します。

メモ: ActiveMQ、JORAM、WebSphere は、拡張設定の観点からサポートされています(Bean プロパティの命名規則の検出による)。デフォルトの ActivationSpec クラス検出ルールは、他の JMS プロバイダーにも適用される場合があります。

WebSphere MQ 設定を指摘し、対応するテストを提供してくれた Agim Emruli と Laurie Chan に感謝します。

導入:
2.5
作成者:
Juergen Hoeller
関連事項:
  • フィールドの詳細

    • logger

      protected final org.apache.commons.logging.Log logger
      サブクラスで利用可能なロガー。
  • コンストラクターの詳細

    • DefaultJmsActivationSpecFactory

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

    • determineActivationSpecClass

      protected ClassSE<?> determineActivationSpecClass(jakarta.resource.spi.ResourceAdapter adapter)
      この実装では、プロバイダーのクラス名から ActivationSpec クラス名を推測します。たとえば、同じパッケージ内の "ActiveMQResourceAdapter" → "ActiveMQActivationSpec"、または ResourceAdapter クラスと同じパッケージ内の "ActivationSpecImpl" という名前のクラスです。
      オーバーライド:
      クラス StandardJmsActivationSpecFactorydetermineActivationSpecClass 
      パラメーター:
      adapter - チェックする ResourceAdapter
      戻り値:
      対応する ActivationSpec クラス、または決定できない場合は null 
      関連事項:
    • populateActivationSpecProperties

      protected void populateActivationSpecProperties(BeanWrapper bw, JmsActivationSpecConfig config)
      この実装は、対応する ActivationSpec プロパティ "maxSessions "/"maxNumberOfWorks" " と "maxMessagesPerSessions"/"maxMessages" " を検出することにより、Spring の拡張 "maxConcurrency" と "prefetchSize" 設定をサポートします (ActiveMQ と JORAM の命名規則に従います)。
      オーバーライド:
      クラス StandardJmsActivationSpecFactorypopulateActivationSpecProperties 
      パラメーター:
      bw - ActivationSpec オブジェクトをラップする BeanWrapper
      config - 一般的な JMS 設定を保持する構成済みオブジェクト
    • applyAcknowledgeMode

      protected void applyAcknowledgeMode(BeanWrapper bw, int ackMode)
      この実装は、SESSION_TRANSACTED を "useRAManagedTransaction" という名前の ActivationSpec プロパティにマップします(可能な場合)(ActiveMQ の命名規則に従って)。
      オーバーライド:
      クラス StandardJmsActivationSpecFactoryapplyAcknowledgeMode 
      パラメーター:
      bw - ActivationSpec オブジェクトをラップする BeanWrapper
      ackMode - 構成された確認応答モード (Session の定数に従って)
      関連事項:
      • Session.AUTO_ACKNOWLEDGE
      • Session.DUPS_OK_ACKNOWLEDGE
      • Session.CLIENT_ACKNOWLEDGE
      • Session.SESSION_TRANSACTED