クラス JmsAccessor

java.lang.ObjectSE
org.springframework.jms.support.JmsAccessor
実装済みのインターフェース一覧:
InitializingBean
既知の直属サブクラス
JmsDestinationAccessor

public abstract class JmsAccessor extends ObjectSE implements InitializingBean
JmsTemplate およびその他の JMS アクセスゲートウェイヘルパーの基底クラスであり、操作対象となる JMS ConnectionFactory などの共通プロパティを定義します。サブクラス JmsDestinationAccessor は、宛先関連のプロパティをさらに追加します。

直接使用するためのものではありません。JmsTemplate を参照してください。

導入:
1.2
作成者:
Juergen Hoeller, Sam Brannen
関連事項:
  • フィールド概要

    フィールド
    修飾子と型
    フィールド
    説明
    protected final org.apache.commons.logging.Log
    サブクラスで利用可能なロガー。
  • コンストラクター概要

    コンストラクター
    コンストラクター
    説明
  • 方法の概要

    修飾子と型
    メソッド
    説明
    void
    すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。
    protected JmsException
    convertJmsAccessException(jakarta.jms.JMSException ex)
    指定されたチェック済みの JMSException を Spring ランタイムの JmsException と同等のものに変換します。
    protected jakarta.jms.Connection
    このテンプレートの ConnectionFactory を介して JMS 接続を作成します。
    protected jakarta.jms.Session
    createSession(jakarta.jms.Connection con)
    指定された接続の JMS セッションを作成します。
    @Nullable jakarta.jms.ConnectionFactory
    このアクセサーが JMS Connections を取得するために使用する ConnectionFactory を返します。
    int
    JMS sessions の確認応答モードを返します。
    protected boolean
    isClientAcknowledge(jakarta.jms.Session session)
    指定されたセッションがクライアント確認モードにあるかどうかを判別します。
    boolean
    このアクセサーによって使用される JMS sessions がトランザクション処理されるかどうかを返します。
    protected final jakarta.jms.ConnectionFactory
    実際に使用するために ConnectionFactory を取得します。
    void
    setConnectionFactory(@Nullable jakarta.jms.ConnectionFactory connectionFactory)
    JMS Connections を取得するために使用する ConnectionFactory を設定します。
    void
    setSessionAcknowledgeMode(int sessionAcknowledgeMode)
    メッセージを送信するために JMS Session を作成するときに使用する JMS 確認モードを設定します。
    void
    JMS Session インターフェース内の対応する定数の名前 (例: "CLIENT_ACKNOWLEDGE") で JMS 確認モードを設定します。
    void
    setSessionTransacted(boolean sessionTransacted)
    JMS Session を作成するときに使用するトランザクションモードを設定します。

    クラス ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • logger

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

    • JmsAccessor

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

    • setConnectionFactory

      public void setConnectionFactory(@Nullable jakarta.jms.ConnectionFactory connectionFactory)
      JMS Connections を取得するために使用する ConnectionFactory を設定します。
    • getConnectionFactory

      public @Nullable jakarta.jms.ConnectionFactory getConnectionFactory()
      このアクセサーが JMS Connections を取得するために使用する ConnectionFactory を返します。
    • obtainConnectionFactory

      protected final jakarta.jms.ConnectionFactory obtainConnectionFactory()
      実際に使用するために ConnectionFactory を取得します。
      戻り値:
      ConnectionFactory (非 null)
      例外:
      IllegalStateExceptionSE - ConnectionFactory セットがない場合
      導入:
      5.0
    • setSessionTransacted

      public void setSessionTransacted(boolean sessionTransacted)
      JMS Session を作成するときに使用するトランザクションモードを設定します。デフォルトは "false" です。

      このフラグを "true" に設定すると、管理対象トランザクションの外部で実行する場合は短いローカル JMS トランザクションが使用され、管理対象トランザクション(XA トランザクション以外)が存在する場合は同期されたローカル JMS トランザクションが使用されます。これには、ローカル JMS トランザクションがメイントランザクション(ネイティブ JDBC トランザクションの場合もあります)と一緒に管理され、JMS トランザクションがメイントランザクションの直後にコミットされるという効果があります。

      このフラグは、Jakarta EE 環境でグローバル JTA/XA トランザクションに参加する場合、デフォルト値 "false" のままにしておく必要があることに注意してください。このようなシナリオでは、サーバーはローカルセッションレベルのトランザクション管理をある程度無視する可能性がありますが、このセッションレベルのフラグが "true" に設定されている場合は、コミット / ロールバック時に予期しない例外がスローされる可能性があります。

      関連事項:
      • Connection.createSession(boolean, int)
    • isSessionTransacted

      public boolean isSessionTransacted()
      このアクセサーによって使用される JMS sessions がトランザクション処理されるかどうかを返します。
      関連事項:
    • setSessionAcknowledgeModeName

      public void setSessionAcknowledgeModeName(StringSE constantName)
      JMS Session インターフェース内の対応する定数の名前 (例: "CLIENT_ACKNOWLEDGE") で JMS 確認モードを設定します。

      確認応答モードにベンダー固有の拡張機能を使用する場合は、代わりに setSessionAcknowledgeMode(int) を使用してください。

      パラメーター:
      constantName - Session 確認モード定数の名前
      関連事項:
      • Session.AUTO_ACKNOWLEDGE
      • Session.CLIENT_ACKNOWLEDGE
      • Session.DUPS_OK_ACKNOWLEDGE
      • Session.SESSION_TRANSACTED
      • Connection.createSession(int)
    • setSessionAcknowledgeMode

      public void setSessionAcknowledgeMode(int sessionAcknowledgeMode)
      メッセージを送信するために JMS Session を作成するときに使用する JMS 確認モードを設定します。

      デフォルトは Session.AUTO_ACKNOWLEDGE です。

      確認応答モードのベンダー固有の拡張機能もここで設定できます。

      EJB の内部では、create(Queue/Topic)Session(boolean transacted, int acknowledgeMode) メソッドのパラメーターは考慮されないことに注意してください。EJB のトランザクションコンテキストに応じて、コンテナーはこれらの値を独自に決定します。EJB 仕様のセクション 17.3.5 を参照してください。

      パラメーター:
      sessionAcknowledgeMode - 確認応答モード定数
      関連事項:
      • Session.AUTO_ACKNOWLEDGE
      • Session.CLIENT_ACKNOWLEDGE
      • Session.DUPS_OK_ACKNOWLEDGE
      • Session.SESSION_TRANSACTED
      • Connection.createSession(boolean, int)
    • getSessionAcknowledgeMode

      public int getSessionAcknowledgeMode()
      JMS sessions の確認応答モードを返します。
    • afterPropertiesSet

      public void afterPropertiesSet()
      インターフェースからコピーされた説明: InitializingBean
      すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。

      このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。

      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
    • convertJmsAccessException

      protected JmsException convertJmsAccessException(jakarta.jms.JMSException ex)
      指定されたチェック済みの JMSException を Spring ランタイムの JmsException と同等のものに変換します。

      デフォルトの実装は、JmsUtils.convertJmsAccessException(JMSException) メソッドに委譲します。

      パラメーター:
      ex - 元のチェック済み JMSException を変換する
      戻り値:
      ex をラップする Spring ランタイム JmsException
      関連事項:
    • createConnection

      protected jakarta.jms.Connection createConnection() throws jakarta.jms.JMSException
      このテンプレートの ConnectionFactory を介して JMS 接続を作成します。

      この実装では、JMS 1.1 API を使用します。

      戻り値:
      新しい JMS 接続
      例外:
      jakarta.jms.JMSException - JMS API メソッドによってスローされた場合
      関連事項:
      • ConnectionFactory.createConnection()
    • createSession

      protected jakarta.jms.Session createSession(jakarta.jms.Connection con) throws jakarta.jms.JMSException
      指定された接続の JMS セッションを作成します。

      この実装では、JMS 1.1 API を使用します。

      パラメーター:
      con - セッションを作成する JMS 接続
      戻り値:
      新しい JMS セッション
      例外:
      jakarta.jms.JMSException - JMS API メソッドによってスローされた場合
      関連事項:
      • Connection.createSession(boolean, int)
    • isClientAcknowledge

      protected boolean isClientAcknowledge(jakarta.jms.Session session) throws jakarta.jms.JMSException
      指定されたセッションがクライアント確認モードにあるかどうかを判別します。

      この実装では、JMS 1.1 API を使用します。

      パラメーター:
      session - チェックする JMS セッション
      戻り値:
      指定されたセッションがクライアント確認モードにあるかどうか
      例外:
      jakarta.jms.JMSException - JMS API メソッドによってスローされた場合
      関連事項:
      • Session.getAcknowledgeMode()
      • Session.CLIENT_ACKNOWLEDGE