What you mean by that?
Should the @Async call delayed until the calles's transaction is finished or commits (not rolled back)?
From what I see you nedd to have a surrounding SLSB and annotate the method you call with @RequiresNew and start the @Async after this invocation return.
Also such request is more for JavaEE and not for JBoss, or you need to request a JBoss specific feature.
As alternative to JMS, you can use timer which are also part of the transaction.
The creation of the timer is part of the transaction, not the execution of it.
But this might be the wanted behaviour.
But you need to pass the arguments as Info and you might have issues with the authentication if you need it.