[Seasar-user:11885] Transaction境界を設定したコンポーネントが階層的に呼び出された場合
Mitsutaka Sato
[E-MAIL ADDRESS DELETED]
2007年 12月 3日 (月) 17:48:55 JST
佐藤と申します。
いつもお世話になっております。
HogeService, FugaService の executeメソッドに j2ee.requiredTxが設定されている(aspect)状況下で、
========================
Class HogeService {
private FugaService fugaService;
public void execute() {
try {
fugaService.execute();
} catch (Exception e) {
log.info(e);
}
}
}
========================
上記のように HogeService#execute のなかで fugaService#execute を呼び出していて、
fugaService#executeでExceptionが発生した場合、
トランザクションはコミットされます。
これは、HogeService#executeがトランザクション境界になっているので、fugaServiceで
Exceptionが発生しても、HogeServiceでcatchしているのでトランザクションはコミットされる
ということになるのでしょうか?
このケースでトランザクションがロールバックされるような方法はないでしょうか?
(訳あってHogeService内でExceptionはキャッチしたい。)
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20071203/85be6207/attachment-0003.html
Seasar-user メーリングリストの案内