クラス LocalConnectionFactoryBean
- 実装されているすべてのインターフェース:
FactoryBean<ObjectSE>,InitializingBean
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 の対応する実装を使用してローカルトランザクションを実行します。
フィールドのサマリー
インターフェース org.springframework.beans.factory.FactoryBean から継承されたフィールド
OBJECT_TYPE_ATTRIBUTEコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidこのファクトリによって管理されるオブジェクトのインスタンス(おそらく共有または独立)を返します。ClassSE<?>この FactoryBean が作成するオブジェクトの型を返します。事前にわからない場合はnullを返します。booleanこのファクトリによって管理されるオブジェクトはシングルトンですか? つまり、FactoryBean.getObject()は常に同じオブジェクト(キャッシュ可能な参照)を返しますか?voidsetConnectionManager(ConnectionManagerEE connectionManager) 必要な接続ファクトリの作成に使用する JCA ConnectionManager を設定します。voidsetManagedConnectionFactory(ManagedConnectionFactoryEE managedConnectionFactory) 必要な接続ファクトリの作成に使用する JCA ManagerConnectionFactory を設定します。
コンストラクターの詳細
LocalConnectionFactoryBean
public LocalConnectionFactoryBean()
メソッドの詳細
setManagedConnectionFactory
必要な接続ファクトリの作成に使用する 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
必要な接続ファクトリの作成に使用する JCA ConnectionManager を設定します。ローカルで使用するための ConnectionManager 実装は、多くの場合、JCA コネクターに含まれています。このように組み込まれた ConnectionManager は、明示的に指定する必要なく、デフォルトとして設定される場合があります。
afterPropertiesSet
インターフェースからコピーされた説明:InitializingBeanすべての Bean プロパティを設定し、BeanFactoryAware、ApplicationContextAwareなどを満たした後、包含BeanFactoryによって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBeanのafterPropertiesSet - 例外:
ResourceExceptionEE
getObject
インターフェースからコピーされた説明:FactoryBeanこのファクトリによって管理されるオブジェクトのインスタンス(おそらく共有または独立)を返します。BeanFactoryと同様に、これにより、シングルトンとプロトタイプの両方の設計パターンをサポートできます。この FactoryBean が呼び出し時にまだ完全に初期化されていない場合(たとえば、循環参照に関係しているため)、対応する
FactoryBeanNotInitializedExceptionをスローします。FactoryBeans は
nullオブジェクトを返すことができます。Bean ファクトリはこれを通常の値と見なし、この場合はFactoryBeanNotInitializedExceptionをスローしません。ただし、FactoryBean 実装では、必要に応じてFactoryBeanNotInitializedException自体をスローすることが推奨されます。- 次で指定:
- インターフェース
FactoryBean<ObjectSE>のgetObject - 戻り値:
- Bean のインスタンス (
nullにすることができます) - 関連事項:
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 - 戻り値:
- 公開されたオブジェクトがシングルトンかどうか
- 関連事項: