This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
If CMT transaction calls BMT method, CMT transaction suspended and BMT starts its own transaction by temporarily suspending CMT transaction, now if we marked setRollback() into BMT,does it means that CMT transaction will also not get commit or i have to understand that that are 2 different transaction.
According to what i understand was CMT ->propogate->BMT so both are individual transaction and will make not difference to CMT if BMT make setrollBack(), BMT transaction will not commit but has no effect on CMT.
You are correct. The rollback on the BMT transaction has no effect on the suspended CMT transaction. The CMT transaction "doesn't know" about the BMT transaction - it may commit despite the rollback on the BMT transaction or it could rollback because its running into different problems entirely.