Forums Register Login
Possible to run an EJB3 timer without transaction?
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.

I hope you can disable the transaction by setting the transaction attribute to Never or Not supported . But I havent tried of this scenario.
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.
Thanks for sharing Steve, interesting...


This thread has been viewed 1316 times.

All times above are in ranch (not your local) time.
The current ranch time is
Oct 17, 2018 06:39:03.