[Seasar-user:9872] Re: SQL ファイルに truncate とエラー常時

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 8月 13日 (月) 21:00:29 JST


小林 (koichik) です.

Date:    Mon, 13 Aug 2007 20:26:40 +0900 (JST)
From:    [E-MAIL ADDRESS DELETED]
To:       [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:9871] Re: SQL ファイルに truncate とエラー常時

> ・Pageクラスのメソッド実行状況を出力するログ用インターセプタ
> ・トランザクション管理
> ・メソッド内で、ランタイムエクセプションで、ロールバックしてエラー画面に飛ばな

下の二つは順番を入れ替えた方がいいかと思います.
アスペクトは customizer.dicon に記述した順で
適用されます.

log -> throws -> tx -> Page

という順にすることで,Page クラスで例外が
発生した場合にトランザクションが確実に
ロールバックされるようになります.

その後 (例外や戻り値の処理は上の図で右から左に
適用されます),必要なら throwsInterceptor で
例外を適切にハンドリングしてください.
ロールバックしないということなので,
throwsInterceptor で例外を握りつぶしてるような
気のせいがしますが,おそらくその必要はないような.

元の話題に関しては,teedaErrorPage.dicon で
SQLException に加えて SQLRuntimeException も
エラーページに遷移するように設定すれば
いいのではないかと思います.
# Dolteng で作成したプロジェクトなら,全ての例外
# (Throwable) でエラーページに遷移するはずですが.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>




Seasar-user メーリングリストの案内