根據官方文檔
可以發現,並不是只要出現了異常就會回滾,只有當發生的異常是「RuntimeException類型」(注意是類型,
xxxException instanceof RuntimeException
)為true的時候才會rollback。可以通過rollbackFor=“xxx”設置特定的回滾策略。
根據官方文檔和源碼提示,可以設置發生特定異常時不回滾:
除了「InstrumnetNotFoundException」異常之外,其他所有的「Exception」和「Error」都回滾事務。