Spring無效的事務傳播行為

2021-08-16 08:33:26 字數 346 閱讀 7071

insertrole方法上的propagation=propagation.requires_new表示不管當前上下文環境有沒有事務,都重新開啟乙個新的事務,但實際上是不生效的。原因如下:

spring的事務管理是在通過動態**類進入invoke方法裡面的,然後判斷是否需要攔截方法,需要的時候才根據註解和xml配置生成事務切面,而insertrole方法的呼叫是直接作用於原始物件,而不是**物件,因而當執行到insertrole方法時,根本不會走**handler類中的invoke方法,從而也不會生成事務邏輯切面。

spring 事務傳播行為

事務傳播行為種類 spring在transactiondefinition介面中規定了7種型別的事務傳播行為,它們規定了事務方法和事務方法發生巢狀呼叫時事務如何進行傳播 事務傳播行為型別 事務傳播行為型別 說明propagation required 如果當前沒有事務,就新建乙個事務,如果已經存在乙...

Spring事務傳播行為

你們說一下什麼是傳播行為,有幾種傳播行為,是不是有7種傳播行為,你們看一段 就知道傳播行為是怎麼用的,它是產生在 多個事務中,我定義乙個 class userservice 這個行為你不會不知道,行為是基礎知識,userdao.add 是不是這樣的,我在add方法上加上註解,logservice.a...

Spring事務傳播行為

什麼是spring事務傳播行為?事務傳播行為用來描述由某乙個事務傳播行為修飾的方法被巢狀進另乙個方法的時,事務如何傳播。假設servicea 中方法a 呼叫 serviceb中方法 b b被事務修飾 那麼會有兩種情況 方法a有事務,方法b有事務 方法a沒有事務,方法b有事務 spring中的事務傳播...