Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Possible to run an EJB3 timer without transaction?

 
Steve Sinai
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is there a way to run an EJB3 timer without it being inside a transaction?

Sometimes the methods run by the timer throw exceptions, and I'd like to be able to update a database with a failed flag if that happens. But the EJBTransactionRolledbackException that gets thrown prevents me from doing this.

Thanks.
 
Meiyappan Kannappa
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I hope you can disable the transaction by setting the transaction attribute to Never or Not supported . But I havent tried of this scenario.
 
Steve Sinai
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was able to solve the problem by not throwing Timer exceptions up to a common exception handling method. Instead I caught them and dealt with them in the method in which they were caught.

It was turning out that if I threw an exception up the method chain, EJB would automatically embed it in some kind of transaction exception, which meant I couldn't write something to the database notifying people that an exception had occurred. If I didn't throw the exception, then there was no transaction exception involved.
 
William P O'Sullivan
Ranch Hand
Posts: 859
Chrome IBM DB2 Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for sharing Steve, interesting...

WP
 
Consider Paul's rocket mass heater.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic