SpringFrameworkトランザクション管理 メモ
ここしばらくHTML/CSS/Javascriptしか触って無かったのでJava自体は久々ですが。
- トランザクション管理Spring Framework-TECHSCORE- 6.1. トランザクション管理の中心となるインタフェース
- トランザクション管理Spring Framework-TECHSCORE- 6.2. トランザクション管理の準備
- Spring-Java/J2EEアプリケーションフレームワークリファレンスドキュメント(2章まで最新版) - 8.4 プログラマティックなトランザクション管理
この辺の情報によるとDataSourceを定義したTransactionManagerを定義、使用すれば任意の場所でコミット、ロールバックが行えそうなので、当初予定していた「Strutsのアクション処理が正常終了した時点でor任意の場所でコミット、異常発生時はロールバック」という方法も行けそうな感じ。
前回まではデータソース取得にJNDIを利用していたのですが、JNDIを使っているからManager系クラスもJTAって技術を使ってみようかなぁと「org.springframework.transaction.jta.JtaTransactionManager」の場合で調査を進めていたところ、JTAを利用するには何やら色々と準備が必要なようで…。
(Tomcatではデフォルトでは対応しておらず、追加設定が必要)
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager" />
とりあえず当分はTomcatで進めて行くつもりなので、今のところはJTAを使わない方向で。
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref bean="dataSource"/> </property> </bean>