簡體   English   中英

EJB中的事務傳播

[英]Transaction propagation in EJB

我正在查看EJB 3.1規范,因此無法與以下場景相關聯。有人可以舉例說明嗎?

•如果客戶端請求未與事務關聯,並且實例已與事務T2關聯,則容器將使用與實例關聯的事務調用實例(T2)。 對於無狀態會話bean,單例會話bean或消息驅動的bean,這種情況永遠不會發生:僅對有狀態會話bean才可能發生。

•如果客戶端與事務T1關聯,並且實例已經與事務T2關聯,則容器將掛起客戶端的事務關聯,並使用與實例關聯的事務上下文調用方法(T2)。 該方法(以及任何相關的攔截器方法)完成后,容器將恢復客戶端的事務關聯(T1)。 對於無狀態會話bean,單例會話bean或消息驅動的bean,這種情況永遠不會發生:僅對有狀態會話bean才可能發生。

如果具有事務范圍的持久性上下文的EJB在使用擴展的持久性上下文的有狀態會話Bean上調用,則會引發錯誤。為什么不應該暫停無狀態會話Bean的事務,然后再使用具有事務范圍的持久化上下文來調用該方法?與有狀態會話Bean相關聯。

問題是什么? 這是關於有狀態會話bean。 只有這種bean才能在方法調用之間保持事務。 因此,如果調用已經具有活動事務的有狀態會話Bean,則將在有狀態會話Bean事務內執行方法調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM