T
- 結果の型 @DeprecatedSE @FunctionalInterfaceSE public interface ConnectionCallback<T>
これは、接続が機能することを期待して ResourceException をスローする既存のデータアクセスコードに委譲する場合に特に便利です。新しく記述されたコードの場合、CciTemplate のより具体的な execute
バリアントを使用することを強くお勧めします。
CciTemplate.execute(ConnectionCallback)
, CciTemplate.execute(javax.resource.cci.InteractionSpec, javax.resource.cci.Record)
, CciTemplate.execute(javax.resource.cci.InteractionSpec, RecordCreator, RecordExtractor)
修飾子と型 | メソッドと説明 |
---|---|
T | doInConnection(ConnectionEE connection, ConnectionFactoryEE connectionFactory) 使用すべきではありません。 アクティブな CCI 接続で CciTemplate.execute によって呼び出されます。 |
@Nullable T doInConnection(ConnectionEE connection, ConnectionFactoryEE connectionFactory) throws ResourceExceptionEE, SQLExceptionSE, DataAccessException
CciTemplate.execute
によって呼び出されます。接続のアクティブ化またはクローズ、またはトランザクションの処理について気にする必要はありません。スレッドにバインドされた CCI トランザクション(CciLocalTransactionManager によって開始される)なしで呼び出された場合、コードはトランザクションセマンティクスを使用して CCI 接続で実行されるだけです。CciTemplate が JTA 対応の ConnectionFactory を使用するように構成されている場合、JTA トランザクションがアクティブであれば、CCI 接続、コールバックコードはトランザクションになります。
コールバック内で作成された結果オブジェクト、つまりドメインオブジェクトまたはドメインオブジェクトのコレクションを返すことができます。シングルステップアクションには特別なサポートがあることに注意してください。CciTemplate.execute
バリアントを参照してください。スローされた RuntimeException はアプリケーション例外として扱われ、テンプレートの呼び出し元に伝播されます。
connection
- アクティブな CCI 接続 connectionFactory
- 接続が作成された CCI ConnectionFactory (RecordFactory および ResourceAdapterMetaData へのアクセスを提供します)null
ResourceExceptionEE
- CCI メソッドによってスローされた場合、DataAccessException に自動変換されます SQLExceptionSE
- ResultSet メソッドによってスローされた場合、DataAccessException に自動変換されます DataAccessException
- カスタム例外の場合 ConnectionFactory.getRecordFactory()
EE, ConnectionFactory.getMetaData()
EE, CciTemplate.execute(javax.resource.cci.InteractionSpec, RecordCreator, RecordExtractor)