• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Devaka Cooray
  • Tim Cooke
Sheriffs:
  • Rob Spoor
  • Liutauras Vilda
  • paul wheaton
Saloon Keepers:
  • Tim Holloway
  • Tim Moores
  • Mikalai Zaikin
  • Carey Brown
  • Piet Souris
Bartenders:
  • Stephan van Hulst

Transaction management

 
Ranch Hand
Posts: 418
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
 
Ranch Hand
Posts: 73
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
See ya later boys, I think I'm in love. Oh wait, she's just a tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
reply
    Bookmark Topic Watch Topic
  • New Topic