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