春天的事務管理,圖解事務傳播行爲

9.3.5 所需的傳播行爲 圖最9-3 新  {      addressService.save(user.getAddress()); //將在同一個事務內執行 }趕上(RuntimeException的E)  userService.countAll());  Assert.assertEquals(1,addressService.countAll());  爲如下形式: java的代碼: Java的代碼  嘗試{      userService.save(用戶);     Assert.fail();  }趕上(RuntimeException的E) {  }  Assert.assertEquals(0,userService.countAll()); Assert.assertEquals(0,  RequiresNew傳播行爲 圖最9-5 TransactionTemplate的=  TransactionTemplate的= userService.countAll());  Assert.assertEquals(1,  新  userService.countAll()); Assert.assertEquals(1,addressService.countAll());  爲如下形式: java的代碼: Java的代碼  嘗試{      userService.save(用戶);      Assert.fail();  }趕上(RuntimeException的E) {  }  Assert.assertEquals(0,userService.countAll());  Assert.assertEquals(1,  所需的+支持傳播行爲        圖最9-7        需要+ NotSupported傳播行爲        圖最9-9        需要+強制性傳播行爲        圖最9-11        所需的+決不傳播行爲        圖最9-13        需要+嵌套的傳播行爲 圖最9-15嵌套+嵌套的傳播行爲 嵌套和RequiresNew的區別: 1,RequiresNew每次都創建新的獨立的物理事務,而嵌套只有一個物理事務; 2,RequiresNew由於都是全新的事務,所以之間是無關聯的; 3,嵌套使用JDBC 正確的事務只讀設置 圖最9-17 交易帶的定義[......]沒有被標記爲 春天的事務之9.3編程式事務 226 積分:700    發表時間:10小時前最後修改:9小時前引用收藏 代理方式下的自我調用 圖最9-18 修改TransactionProxyFactoryBean的配置定義,添加exposeProxy屬性爲真; 2,在業務方法內通過代理對象調用相應的事務方放,如 使用這種方式屬於侵入式,不推薦使用,除非必要。 圖9-19代理方式下的自我調用 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章