我想下面的堆棧跟蹤爲Java調用:Java的春天:瞭解@Transactional的rollbackFor和事務劃分
B.method2 (annotated with a plain @Transactional)
A.method1 (annotated with a plain @Transactional)
Main.main (starting point of the call, with no current transaction)
我希望進入A.method1當交易開始 - 和事務將被COMMITED(或退回)A.method1離開時。我也期待在B.method2中使用相同的事務。
RuntimeException從B.method2中拋出。這是默認情況下爲rollbackFor'列出'的異常。異常在A.method1中被捕獲,但是當離開B.method2時它會通過@Transactional的邊界。
這是我的問題:將(當前)事務標記爲回滾?
嘗試它會不會更快,而不是等待別人回答? – skaffman 2012-02-10 09:55:02
實際沒有 - 因爲您可以使用許多不同的設置(AOP,AspectJ,加載時間/代理編織...)來配置Spring。這是對@Transactional概念的一個問題。 – aanno 2012-02-10 12:03:03