The exact behavior of transactional observers with respect to starting a new transaction is unclear.
Yes, this is undefined. At least from CDI point of view. However, CDI makes it clear that a javax.transaction.Synchronization is used to notify transactional observers. So I'd check JTA if it is allowed or not.
...which is called when an event is fired, and is never cleared.
Hm, I still don't understand what "cleared" means here? This callback is only registered with the currently executing transaction. |