クラス AbstractMessageEndpointFactory

java.lang.ObjectSE
org.springframework.jca.endpoint.AbstractMessageEndpointFactory
実装されているすべてのインターフェース:
jakarta.resource.spi.endpoint.MessageEndpointFactory, Aware, BeanNameAware
既知の直属サブクラス
GenericMessageEndpointFactory, JmsMessageEndpointFactory

public abstract class AbstractMessageEndpointFactory extends ObjectSE implements jakarta.resource.spi.endpoint.MessageEndpointFactory, BeanNameAware
JCA 1.7 MessageEndpointFactory インターフェースの抽象基本実装。トランザクション管理機能とエンドポイント呼び出しの ClassLoader 公開を提供します。
導入:
2.5
作成者:
Juergen Hoeller
関連事項:
  • ネストされたクラスの要約

    ネストされたクラス
    修飾子と型
    クラス
    説明
    protected class
    あらゆる種類の具体的なエンドポイント実装を可能にするテンプレートメソッドに基づく、実際のエンドポイント実装の内部クラス。
  • フィールドのサマリー

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

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    jakarta.resource.spi.endpoint.MessageEndpoint
    createEndpoint の標準 JCA 1.5 バージョン。
    jakarta.resource.spi.endpoint.MessageEndpoint
    createEndpoint(XAResourceSE xaResource, long timeout)
    createEndpoint の代替 JCA 1.6 バージョン。
    このファクトリの AbstractMessageEndpointFactory.AbstractMessageEndpoint 内部クラスのサブクラスとして、実際のエンドポイントインスタンスを作成します。
    JCA 1.7 #getActivationName() メソッドの実装。この MessageEndpointFactory に設定されている Bean 名を返します。
    JCA 1.7 #getEndpointClass() メソッドの実装。合成エンドポイント型を示すために null を返します。
    boolean
    トランザクションマネージャーが指定されている場合、この実装は true を返します。それ以外の場合は false
    void
    このメッセージエンドポイントの名前を設定します。
    void
    エンドポイント呼び出しのラップに使用する Spring TransactionFactory を設定し、そのような各トランザクションにエンドポイントリソースを参加させます。
    void
    setTransactionManager(ObjectSE transactionManager)
    エンドポイント呼び出しのラップに使用する XA トランザクションマネージャーを設定し、そのような各トランザクションにエンドポイントリソースを参加させます。
    void
    setTransactionName(StringSE transactionName)
    トランザクションの名前を指定します(ある場合)。
    void
    setTransactionTimeout(int transactionTimeout)
    トランザクションタイムアウトがある場合は、それを指定します。

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

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

    • logger

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

    • AbstractMessageEndpointFactory

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

    • setTransactionManager

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

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

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

      関連事項:
    • setTransactionFactory

      public void setTransactionFactory(TransactionFactory transactionFactory)
      エンドポイント呼び出しのラップに使用する Spring TransactionFactory を設定し、そのような各トランザクションにエンドポイントリソースを参加させます。

      または、"transactionManager" プロパティを使用して適切なトランザクションマネージャーを指定します。

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

      関連事項:
    • setTransactionName

      public void setTransactionName(StringSE transactionName)
      トランザクションの名前を指定します(ある場合)。

      デフォルトはなしです。指定された名前がトランザクションマネージャーに渡され、トランザクションモニタでトランザクションを識別できるようになります。

    • setTransactionTimeout

      public void setTransactionTimeout(int transactionTimeout)
      トランザクションタイムアウトがある場合は、それを指定します。

      デフォルトは -1 です: トランザクションマネージャーのデフォルトのタイムアウトに依存します。具体的なタイムアウトを指定して、各エンドポイント呼び出しの最大期間を制限します。

    • setBeanName

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

      public @Nullable StringSE getActivationName()
      JCA 1.7 #getActivationName() メソッドの実装。この MessageEndpointFactory に設定されている Bean 名を返します。
      次で指定:
      インターフェース jakarta.resource.spi.endpoint.MessageEndpointFactorygetActivationName 
      関連事項:
    • getEndpointClass

      public @Nullable ClassSE<?> getEndpointClass()
      JCA 1.7 #getEndpointClass() メソッドの実装。合成エンドポイント型を示すために null を返します。
      次で指定:
      インターフェース jakarta.resource.spi.endpoint.MessageEndpointFactorygetEndpointClass 
    • isDeliveryTransacted

      public boolean isDeliveryTransacted(MethodSE method) throws NoSuchMethodExceptionSE
      トランザクションマネージャーが指定されている場合、この実装は true を返します。それ以外の場合は false
      次で指定:
      インターフェース jakarta.resource.spi.endpoint.MessageEndpointFactoryisDeliveryTransacted 
      例外:
      NoSuchMethodExceptionSE
      関連事項:
    • createEndpoint

      public jakarta.resource.spi.endpoint.MessageEndpoint createEndpoint(XAResourceSE xaResource) throws jakarta.resource.spi.UnavailableException
      createEndpoint の標準 JCA 1.5 バージョン。

      この実装は createEndpointInternal() に委譲し、エンドポイントが呼び出される前にエンドポイントの XAResource を初期化します。

      次で指定:
      インターフェース jakarta.resource.spi.endpoint.MessageEndpointFactorycreateEndpoint 
      例外:
      jakarta.resource.spi.UnavailableException
    • createEndpoint

      public jakarta.resource.spi.endpoint.MessageEndpoint createEndpoint(XAResourceSE xaResource, long timeout) throws jakarta.resource.spi.UnavailableException
      createEndpoint の代替 JCA 1.6 バージョン。

      この実装は、指定されたタイムアウトを無視して、createEndpointInternal() に委譲します。これは、JCA 1.6 準拠のためだけに存在します。

      次で指定:
      インターフェース jakarta.resource.spi.endpoint.MessageEndpointFactorycreateEndpoint 
      例外:
      jakarta.resource.spi.UnavailableException
    • createEndpointInternal

      protected abstract AbstractMessageEndpointFactory.AbstractMessageEndpoint createEndpointInternal() throws jakarta.resource.spi.UnavailableException
      このファクトリの AbstractMessageEndpointFactory.AbstractMessageEndpoint 内部クラスのサブクラスとして、実際のエンドポイントインスタンスを作成します。
      戻り値:
      実際のエンドポイントインスタンス (非 null)
      例外:
      jakarta.resource.spi.UnavailableException - 現在利用可能なエンドポイントがない場合