When firing async events, various executors can be used.
In doing so, their TCCL changes and other technologies that may rely on it will fail (
WFLY-11907). On WFLY, this also causes problem once you try to use CDI.current() as WFLY attempts to decide which Weld container belongs to that call based on TCCL ( WFLY-11906).
We can try and wrap each notification with privileged action that sets the TCCL to what it was originally and unsets it when done.