2009-11-25 10 views
5

在Spring Framework手冊中,他們聲明對於PROPAGATION_REQUIRES_NEW,當前事務將被暫停。事務暫停在MySQL中如何工作?

這是什麼「暫停交易」? 超時計時器在當前事務處停止計數? 這種暫停的實際含義是什麼?

謝謝

阿薩夫

回答

4

這並不意味着什麼特殊的,暫停交易只是爲暫時不使用的插入,更新,提交或回滾事務,因爲一個新的事務應該由於指定的傳播屬性而創建,並且只有一個事務可以同時處於活動狀態。

基本上有兩種交易模式:嵌套和平坦模型。在嵌套模型中,如果啓動一個事務,並且需要另一個事務,則第一個保持活動狀態,即第二個嵌套在其父代中,依此類推。另一方面,在扁平模型中,第一筆交易將被暫停,也就是說,我們不會在新筆交易完成之前使用它。 AFAIK平面模型幾乎完全使用(包括Spring和EJB規範),因爲它的實現更容易:在任何給定時間只有一個活動事務,所以很容易決定什麼例如,如果出現回退,則由於例外情況。更重要的是,如果您需要嵌套模型,底層數據庫必須支持它,因此在這種情況下,平面模型只是的公分母