Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Transaction management

 
Rashmi Tambe
Ranch Hand
Posts: 418
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,
I have a very complex problem with transaction management. there is a session bean running on one weblogic server that makes a call to another session bean on another weblogic server running on second machine. the calling method has tx attribute as RequiresNew. The called method has tx attribute as NotSupported. I What happens is like this:
1. Calling method f1() makes some local database updates
2. then f1 calls f2 on remote weblogic servers.
3.Method f1 finishes and changes in database are committed. However, the control does not come back to calling application.
4.then i see timeoutexception on my server's console as the it waits for the remote weblogic server to complete.
the error message is as follows :
javax.transaction.SystemException: Timeout during commit processing

5. This exception is thrown back to calling client. However, the local database update is not rolled back.
Can anybody explain me what is happening wrong in this scenario.
I am using non-XA driver.
Any help would be greatly appreciated.
Regards,
Rashmi Tambe
 
amit mawkin
Ranch Hand
Posts: 73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ideally it should have happened that
when f1 calls f2 , f1 should be suspended and f2 should do its work
, and when f2 has finished his work f1 should resume and finish all the pending tasks.
Further I recommend using XA driver if its possible.
In no case F1 should finish before F2.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic