java中事務(wù)的傳播行為有哪些

小編給大家分享一下java中事務(wù)的傳播行為有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為涿州企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司涿州網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

事務(wù)的傳播行為

當(dāng)事務(wù)A被事務(wù)B調(diào)用時,必須得指定事務(wù)的傳播行為。

事務(wù)的傳播行為有7種,分別為REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER和NESTED

java中事務(wù)的傳播行為有哪些

  1. REUQIRED

如果A方法和B方法的關(guān)系時這樣子的

java中事務(wù)的傳播行為有哪些

如果A調(diào)用B,那么B和A走的同一個事務(wù);

如果A沒有加事務(wù),那么B就會重新new一個事務(wù);

2.SUPPORTS

java中事務(wù)的傳播行為有哪些

如果A有事務(wù),那么B會和A共用一個事務(wù);

如果A沒有事務(wù),那么B也不會有事務(wù)。

3.MANDATORY

java中事務(wù)的傳播行為有哪些

如果A有事務(wù),那么B會和A用一個事務(wù);

如果A沒有事務(wù),那么B會跑出異常,也就是B如果這樣配了必須得加入有事務(wù)的方法。

4.REQUIRES_NEW

java中事務(wù)的傳播行為有哪些

這樣寫的話,執(zhí)行B時將會把A事務(wù)掛起,B事務(wù)提交后才能提交A事務(wù),可以這么說,這兩個事務(wù)是相互獨(dú)立的。

5.NOT_SUPPORTED

java中事務(wù)的傳播行為有哪些

如果事務(wù)B被賦予NOT_SUPPORTED,那么事務(wù)B無論如何都不支持事務(wù),并且掛起所有事務(wù)。

6.NEVER

java中事務(wù)的傳播行為有哪些

總是非事務(wù)地執(zhí)行,如果寫成上圖這樣,它會拋異常,因為它存在事務(wù)。

7.NESTED

如果一個活動的事務(wù)存在,則運(yùn)行在一個嵌套的事務(wù)中. 如果沒有活動事務(wù), 則按TransactionDefinition.PROPAGATION_REQUIRED 屬性執(zhí)行。這是一個嵌套事務(wù),使用JDBC 3.0驅(qū)動時,僅僅支持DataSourceTransactionManager作為事務(wù)管理器。需要JDBC 驅(qū)動的java.sql.Savepoint類。有一些JTA的事務(wù)管理器實現(xiàn)可能也提供了同樣的功能。使用PROPAGATION_NESTED,還需要把PlatformTransactionManager的nestedTransactionAllowed屬性設(shè)為true;而 nestedTransactionAllowed屬性值默認(rèn)為false。

外層事務(wù)的回滾可以引起內(nèi)層事務(wù)的回滾。而內(nèi)層事務(wù)的異常并不會導(dǎo)致外層事務(wù)的回滾,它是一個真正的嵌套事務(wù)

看完了這篇文章,相信你對“java中事務(wù)的傳播行為有哪些”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前標(biāo)題:java中事務(wù)的傳播行為有哪些
文章位置:http://muchs.cn/article42/ghsihc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站內(nèi)鏈企業(yè)網(wǎng)站制作、GoogleApp設(shè)計、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營