クラス TransactionTemplate
- 実装されたすべてのインターフェース:
SerializableSE
、InitializingBean
、TransactionOperations
、TransactionDefinition
中心的な方法は execute(org.springframework.transaction.support.TransactionCallback<T>)
で、TransactionCallback
インターフェースを実装するトランザクションコードをサポートしています。このテンプレートは、TransactionCallback 実装も呼び出し元のコードも明示的にトランザクションを処理する必要がないように、トランザクションのライフサイクルと起こり得る例外を処理します。
典型的な使用箇所: JDBC DataSources などのリソースを使用する低レベルのデータアクセスオブジェクトを書き込むことができますが、それ自体はトランザクション対応ではありません。代わりに、このクラスを利用する高レベルのアプリケーションサービスによって処理されるトランザクションに暗黙的に参加し、内部クラスのコールバックオブジェクトを介して低レベルのサービスを呼び出すことができます。
トランザクションマネージャー参照で直接インスタンス化することにより、サービス実装内で使用できます。または、アプリケーションコンテキストで準備し、Bean 参照としてサービスに渡すことができます。注: アプリケーションコンテキストでは、トランザクションマネージャーは常に Bean として構成する必要があります。最初のケースではサービスに直接指定し、2 番目のケースでは準備したテンプレートに指定します。
コンテキスト定義での便利な構成のために、名前による伝播動作と分離レベルの設定をサポートします。
フィールドサマリー
クラス org.springframework.transaction.support.DefaultTransactionDefinition から継承されたフィールド
PREFIX_ISOLATION, PREFIX_PROPAGATION, PREFIX_TIMEOUT, READ_ONLY_MARKER
インターフェース org.springframework.transaction.TransactionDefinition から継承されたフィールド
ISOLATION_DEFAULT, ISOLATION_READ_COMMITTED, ISOLATION_READ_UNCOMMITTED, ISOLATION_REPEATABLE_READ, ISOLATION_SERIALIZABLE, PROPAGATION_MANDATORY, PROPAGATION_NESTED, PROPAGATION_NEVER, PROPAGATION_NOT_SUPPORTED, PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW, PROPAGATION_SUPPORTS, TIMEOUT_DEFAULT
コンストラクターのサマリー
コンストラクター説明Bean 用の新しい TransactionTemplate を作成します。TransactionTemplate
(PlatformTransactionManager transactionManager) 指定されたトランザクションマネージャーを使用して、新しい TransactionTemplate を構築します。TransactionTemplate
(PlatformTransactionManager transactionManager, TransactionDefinition transactionDefinition) 指定されたトランザクション定義からデフォルト設定を取得し、指定されたトランザクションマネージャーを使用して新しい TransactionTemplate を構築します。方法の概要
修飾子と型メソッド説明void
boolean
この実装は、toString()
の結果を比較します。<T> T
execute
(TransactionCallback<T> action) トランザクション内で、指定されたコールバックオブジェクトによって指定されたアクションを実行します。使用するトランザクション管理戦略を返します。void
setTransactionManager
(PlatformTransactionManager transactionManager) 使用するトランザクション管理戦略を設定します。クラス org.springframework.transaction.support.DefaultTransactionDefinition から継承されたメソッド
getDefinitionDescription, getIsolationLevel, getName, getPropagationBehavior, getTimeout, hashCode, isReadOnly, setIsolationLevel, setIsolationLevelName, setName, setPropagationBehavior, setPropagationBehaviorName, setReadOnly, setTimeout, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.transaction.support.TransactionOperations から継承されたメソッド
executeWithoutResult
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
TransactionTemplate
public TransactionTemplate()Bean 用の新しい TransactionTemplate を作成します。メモ: PlatformTransactionManager は、
execute
呼び出しの前に設定する必要があります。TransactionTemplate
指定されたトランザクションマネージャーを使用して、新しい TransactionTemplate を構築します。- パラメーター:
transactionManager
- 使用するトランザクション管理戦略
TransactionTemplate
public TransactionTemplate(PlatformTransactionManager transactionManager, TransactionDefinition transactionDefinition) 指定されたトランザクション定義からデフォルト設定を取得し、指定されたトランザクションマネージャーを使用して新しい TransactionTemplate を構築します。- パラメーター:
transactionManager
- 使用するトランザクション管理戦略transactionDefinition
- デフォルト設定のコピー元のトランザクション定義。ローカルプロパティは、値を変更するように設定できます。
メソッドの詳細
setTransactionManager
使用するトランザクション管理戦略を設定します。getTransactionManager
使用するトランザクション管理戦略を返します。afterPropertiesSet
public void afterPropertiesSet()インターフェースからコピーされた説明:InitializingBean
すべての Bean プロパティを設定し、BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
execute
インターフェースからコピーされた説明:TransactionOperations
トランザクション内で、指定されたコールバックオブジェクトによって指定されたアクションを実行します。トランザクション内で作成された結果オブジェクト、つまりドメインオブジェクトまたはドメインオブジェクトのコレクションを返すことができます。コールバックによってスローされた RuntimeException は、ロールバックを強制する致命的な例外として扱われます。このような例外は、テンプレートの呼び出し元に伝播されます。
- 次で指定:
- インターフェース
TransactionOperations
のexecute
- パラメーター:
action
- トランザクションアクションを指定するコールバックオブジェクト- 戻り値:
- コールバックによって返された結果オブジェクト。ない場合は
null
- 例外:
TransactionException
- 初期化、ロールバック、システムエラーの場合- 関連事項:
equals
クラスからコピーされた説明:DefaultTransactionDefinition
この実装は、toString()
の結果を比較します。- オーバーライド:
- クラス
DefaultTransactionDefinition
のequals
- 関連事項: