クラス LocalConnectionFactoryBean

java.lang.ObjectSE
org.springframework.jca.support.LocalConnectionFactoryBean
実装されたすべてのインターフェース:
FactoryBean<ObjectSE>InitializingBean

public class LocalConnectionFactoryBean extends ObjectSE implements FactoryBean<ObjectSE>, InitializingBean
「非管理」モードでローカル JCA 接続ファクトリを作成する FactoryBean(Java コネクターアーキテクチャ仕様で定義)。これは、Jakarta EE サーバーのネーミング環境から接続ファクトリハンドルを取得する JndiObjectFactoryBean 定義の直接的な代替手段です。

接続ファクトリの型は、実際のコネクターに依存します。コネクターは、JCA 仕様で定義されているように、そのネイティブ API(JDBC DataSourceSE や JMS ConnectionFactoryEE など)を公開するか、標準の Common Client Interface(CCI)に従うことができます。CCI ケースで公開されているインターフェースは ConnectionFactoryEE です。

この FactoryBean を使用するには、コネクターの "managedConnectionFactory"(通常は個別の JavaBean として構成)を指定する必要があります。これは、アプリケーションに公開される実際の接続ファクトリ参照の作成に使用されます。オプションで、コネクターのデフォルトの代わりにカスタム ConnectionManager を使用するために、"connectionManager" を指定することもできます。

注意 : 非管理モードでは、コネクターはアプリケーションサーバーにデプロイされません。具体的には、アプリケーションサーバーと対話しません。Jakarta EE サーバーのシステム契約を使用できません。: 接続管理、トランザクション管理、セキュリティ管理。スタンドアロンのトランザクションコーディネーターなどと組み合わせてこれらのサービスを適用するには、カスタム ConnectionManager 実装を使用する必要があります。

コネクターはデフォルトでローカル ConnectionManager (コネクターに含まれる) を使用しますが、これは XA 登録がないためグローバルトランザクションに参加できません。コネクターが XA トランザクションコーディネーターと対話できるようにするには、XA 対応の ConnectionManager を指定する必要があります。または、公開された API のネイティブローカルトランザクション機能 (CCI ローカルトランザクションなど) を使用するか、Spring の PlatformTransactionManager SPI の対応する実装を使用してローカルトランザクションを駆動します。

導入:
1.2
作成者:
Juergen Hoeller
関連事項:
  • フィールドサマリー

    インターフェース org.springframework.beans.factory.FactoryBean から継承されたフィールド

    OBJECT_TYPE_ATTRIBUTE
  • コンストラクターのサマリー

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

    修飾子と型
    メソッド
    説明
    void
    すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。
    このファクトリによって管理されるオブジェクトのインスタンス(おそらく共有または独立)を返します。
    この FactoryBean が作成するオブジェクトの型、または事前に不明な場合は null を返します。
    boolean
    このファクトリによって管理されるオブジェクトはシングルトンですか? つまり、FactoryBean.getObject() は常に同じオブジェクト(キャッシュ可能な参照)を返しますか?
    void
    必要な接続ファクトリの作成に使用する JCA ConnectionManager を設定します。
    void
    必要な接続ファクトリの作成に使用する JCA ManagerConnectionFactory を設定します。

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

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • LocalConnectionFactoryBean

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

    • setManagedConnectionFactory

      public void setManagedConnectionFactory(ManagedConnectionFactoryEE managedConnectionFactory)
      必要な接続ファクトリの作成に使用する JCA ManagerConnectionFactory を設定します。

      ManagerConnectionFactory は通常、個別の Bean(潜在的には内部 Bean として)としてセットアップされ、JavaBean プロパティが入力されます。ManagerConnectionFactory は、JDBC DataSource および JPA EntityManagerFactory に類似した JCA 仕様による JavaBean パターンに従うことが推奨されます。

      ManagerConnectionFactory 実装では、ResourceAdapterAssociationEE インターフェースを介して表現された JCA 1.7 ResourceAdapter への参照が必要になる場合があることに注意してください。この場合、ManagerConnectionFactory をこの LocalConnectionFactoryBean に渡す前に、対応する ResourceAdapter インスタンスをその "resourceAdapter" Bean プロパティに挿入するだけです。

      関連事項:
    • setConnectionManager

      public void setConnectionManager(ConnectionManagerEE connectionManager)
      必要な接続ファクトリの作成に使用する JCA ConnectionManager を設定します。

      ローカルで使用するための ConnectionManager 実装は、多くの場合、JCA コネクターに含まれています。このように組み込まれた ConnectionManager は、明示的に指定する必要なく、デフォルトとして設定される場合があります。

      関連事項:
    • afterPropertiesSet

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

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

      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
      例外:
      ResourceExceptionEE
    • getObject

      @Nullable public ObjectSE getObject()
      インターフェースからコピーされた説明: FactoryBean
      このファクトリによって管理されるオブジェクトのインスタンス(おそらく共有または独立)を返します。

      BeanFactory と同様に、これにより、シングルトンとプロトタイプの両方のデザインパターンをサポートできます。

      この FactoryBean が呼び出し時にまだ完全に初期化されていない場合(たとえば、循環参照に関係しているため)、対応する FactoryBeanNotInitializedException をスローします。

      Spring 2.0 以降、FactoryBeans は null オブジェクトを返すことができます。ファクトリはこれを通常の値として使用します。この場合、FactoryBeanNotInitializedException はスローされません。FactoryBean の実装では、必要に応じて FactoryBeanNotInitializedException 自体をすぐにスローすることをお勧めします。

      次で指定:
      インターフェース FactoryBean<ObjectSE>getObject 
      戻り値:
      Bean のインスタンス (null にすることができます)
      関連事項:
    • getObjectType

      @Nullable public ClassSE<?> getObjectType()
      インターフェースからコピーされた説明: FactoryBean
      この FactoryBean が作成するオブジェクトの型、または事前に不明な場合は null を返します。

      これにより、たとえばオートワイヤーなどで、オブジェクトをインスタンス化せずに特定の型の Bean を確認できます。

      シングルトンオブジェクトを作成している実装の場合、このメソッドはシングルトンの作成を可能な限り回避しようとします。むしろ、事前に型を推定する必要があります。プロトタイプの場合、ここで意味のある型を返すこともお勧めします。

      このメソッドは、この FactoryBean が完全に初期化される前に呼び出すことができます。初期化中に作成された状態に依存しないでください。もちろん、利用可能な場合はそのような状態を引き続き使用できます。

      注意 : オートワイヤーは、ここで null を返す FactoryBeans を単に無視します。FactoryBean の現在の状態を使用して、このメソッドを適切に実装することを強くお勧めします。

      次で指定:
      インターフェース FactoryBean<ObjectSE>getObjectType 
      戻り値:
      この FactoryBean が作成するオブジェクトの型、または呼び出し時に不明な場合は null 
      関連事項:
    • isSingleton

      public boolean isSingleton()
      インターフェースからコピーされた説明: FactoryBean
      このファクトリによって管理されるオブジェクトはシングルトンですか? つまり、FactoryBean.getObject() は常に同じオブジェクト(キャッシュ可能な参照)を返しますか?

      注意 : FactoryBean がシングルトンオブジェクトを保持することを示す場合、getObject() から返されたオブジェクトは所有 BeanFactory によってキャッシュされる可能性があります。FactoryBean が常に同じ参照を公開しない限り、true を返さないでください。

      FactoryBean 自体のシングルトンステータスは、通常、所有する BeanFactory によって提供されます。通常、そこではシングルトンとして定義する必要があります。

      注意 false を返すこのメソッドは、返されるオブジェクトが独立したインスタンスであることを必ずしも示しません。拡張 SmartFactoryBean インターフェースの実装は、SmartFactoryBean.isPrototype() メソッドを通じて独立したインスタンスを明示的に示す場合があります。この拡張インターフェースを実装しないプレーンな FactoryBean 実装は、isSingleton() 実装が false を返す場合、常に独立したインスタンスを返すと単純に想定されます。

      FactoryBean は通常シングルトンインスタンスを管理するため、デフォルトの実装は true を返します。

      次で指定:
      インターフェース FactoryBean<ObjectSE>isSingleton 
      戻り値:
      公開されたオブジェクトがシングルトンかどうか
      関連事項: