[Seasar-user:20195] Re: S2Txでコミット後に処理を行いたい
ちょま吉
[E-MAIL ADDRESS DELETED]
2010年 9月 28日 (火) 07:40:48 JST
宮崎です。
ご返答頂き有難うございます。
下記、了解いたしました。
とても助かりました。
2010年9月28日1:00 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> 小林 (koichik) です.
>
> Date: Tue, 28 Sep 2010 00:18:29 +0900
> From: ちょま吉 <[E-MAIL ADDRESS DELETED]>
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:20192] S2Txでコミット後に処理を行いたい
>
>> ファイルの削除処理をDBのトランザクションがコミットされた後に行いたいと考
>> えているのですが、コミット処理の結果を受けて動くコードを挿入する方法は
>> ないのでしょうか。
>
> Synchronization インタフェースの実装クラスを
> TransactionSynchronizationRegistry に
> 登録すれば可能です.
>
> http://download-llnw.oracle.com/javaee/6/api/javax/transaction/Synchronization.html
> http://download-llnw.oracle.com/javaee/6/api/javax/transaction/TransactionSynchronizationRegistry.html
>
> TransactionSynchronizationRegistry は
> public フィールドか setter メソッドを
> 用意すれば Seasar2 によって DI されます.
>
> public TransactionSynchronizationRegistry tsr;
>
> tsr.registerInterposedSynchronization(new Synchronization() {
> @Override
> public void beforeCompletion() {
> //コミット前の処理
> }
>
> @Override
> public afterCompletion(int status) {
> if (status == Status.STATUS_COMMITTED) {
> //コミット後の処理
> } else {
> ロールバック後の処理
> }
> }
> });
>
>
>
> --
> <component name="koichik">
> <property name="fullName">"Koichi Kobayashi"</property>
> <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
> <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> <property name="twitter">"http://twitter.com/koichik"</property>
> </component>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内