• Post Reply Bookmark Topic Watch Topic
  • New Topic

Urgent transaction question!

 
rose deng
Ranch Hand
Posts: 78
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
In my project, i have a sessionbeanA, it has methodA(). In methodA(), i call classB's methodB(). In methodB(), I first call classC's methodC() and then classD's methodD(). In methodC() will call entitybeanE's methodE(); in methodD() will call entitybeanF's methodF(). methodE() will insert record to table1, and methodF() will insert record to table2.
What i want: when exception happen in classD's methodD(), inserted record in table1 will rollback.
What i do:
1. Transaction is container managed transaction.
2. Set transaction attribute for sessinbeanA,entitybeanE,entitybeanF as 'Required'.
3. Exception in methodD(), will be finally caught in sessionbeanA's methodA(). code in methodA() is as following:
try
{
bla bla
}
catch(AppException ex)
{
sessionContext.setRollbackOnly();
}
What i get: inserted record in table1 is still there, not rollback.
What's wrong?? Any correction is highly appreciated.
 
Manas Ahlaad
Ranch Hand
Posts: 165
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
can you please make it clear. give more info. code will help ....
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!