クラス 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
関連事項:
  • コンストラクターの詳細

    • 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 をスローします。

      FactoryBeans は null オブジェクトを返すことができます。Bean ファクトリはこれを通常の値と見なし、この場合は 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 
      戻り値:
      公開されたオブジェクトがシングルトンかどうか
      関連事項: