JAVA基礎(chǔ)(java的事務嵌套)

字號:

java中事務的嵌套:
    TransactionManager.beginTransaction();//事務1
    A(); //調(diào)用方法A
    TransactionManager.commitTransaction();
    方法A
    A(){
    TransactionManager.beginTransaction();//事務2
    TransactionManager.commitTransaction[color=#FF0000]();//此處事務的提交是否把事務1一起提交了?事務的嵌套是不是就近原則?[/color]
    }
    事我們的項目分好幾個工程,務1本身是一個工程內(nèi)地,事務2是在另外一個工程內(nèi),考試大提示由于事務1內(nèi)的dao操作完了后需要調(diào)用事務2的方法,而事務2的方法是公用內(nèi)必須有事務的開始和提交,且事務2的方法在事務1的方法內(nèi)調(diào)用了兩次。如下面的源代碼:
    Java code
    A(){
    TransactionManager.beginTransaction();//事務2
    TransactionManager.commitTransaction[color=#FF0000]();//此處事務的提交是否把事務1一起提交了?事務的嵌套是不是就近原則?[/color]
    TransactionManager.beginTransaction();//事務2第二此調(diào)用
    TransactionManager.commitTransaction[color=#FF0000]();//此處事務的提交是否把事務1一起提交了?事務的嵌套是不是就近原則?[/color]
    }
    事務2的第一次調(diào)用若沒有提交,會造成鎖表。
    這種情況下,我該怎么設(shè)計?
    比較郁悶。我自己感覺說的都比較亂。
    事務2的工程我是打成jar,放到事務1的工程內(nèi),讓事務1的工程調(diào)用地。