Description
There are some requirements on the exceptions when executing async method:
1, Unchecked exception must be wrapped with EJBExcpetion before being wrraped with ExecutionException and throwing out.
2, All checked exception should be wrapped with ExecutionException before throwing out.
the client code could get the root exception with ExecutionException.getCause();