It only works for calling methods through a client proxy, such as @Localor @Remote. This is described in the EJB 3.1 specifications (section 4.5 - 4.5.1):
A bean session can expose methods with asynchronous client semantics
...
@Asynchronous annotation , - .
...
" ", " " " " .