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...

expectation is the root of all heartache - shakespeare. tiny ad:

This thread has been viewed 1187 times.

All times above are in ranch (not your local) time.
The current ranch time is
Mar 23, 2018 18:56:03.