2 回答

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
關(guān)于 BMT 或 CMT 的本地或全局事務(wù)處理沒(méi)有區(qū)別。
BMT 和 CMT 僅定義如何定義事務(wù)的開(kāi)始和結(jié)束。在 CMT 中,它由帶注釋的方法的調(diào)用定義,在 BMT 中,事務(wù)的開(kāi)始和結(jié)束是使用 UserTransaction 對(duì)象定義的。
如果全局事務(wù)是必要的,或者更好的是分布式事務(wù),那么事務(wù)管理器將獨(dú)立于 BMT 或 CMT 進(jìn)行安排。
一旦涉及多個(gè)事務(wù)資源,就需要這些全局事務(wù)或兩階段提交。例如,如果您使用 MessageDriven bean,該 bean 調(diào)用注釋為“Beanmanaged transaction processing”的 bean 并在 DBMS 中進(jìn)行更改。在這種情況下,對(duì)消息隊(duì)列和 DBMS 這兩個(gè)資源都進(jìn)行了兩階段提交。
所以,回答你的問(wèn)題:
不,答案見(jiàn)上文。
如果沒(méi)有事務(wù)管理器,您將無(wú)法使用多個(gè)資源進(jìn)行事務(wù)。J2EE-Containers 通常提供分布式事務(wù)的容器將使用事務(wù)管理器處理所有事務(wù)。在 jboss,您可以將數(shù)據(jù)源配置為“無(wú) jta”,在這種情況下,您可以明確地將它們從兩階段提交中排除,但我認(rèn)為盡管如此,jboss-transactionmanager 仍將處理此類(lèi)數(shù)據(jù)源的 db-connections。
是的,如果“提供”是指“支持”
添加回答
舉報(bào)