It would be good to see the full stack trace, but the application vs. system exception distinction
only applies to the top-level exception that is propagated back to the EJB container from the business method. It's in the post-invocation processing that the container determines which category the exception falls under and takes the corresponding actions.
[Message sent by forum member 'ksak' (ksak)]
http://forums.java.net/jive/thread.jspa?messageID=320306