-
Bug
-
Resolution: Done
-
Critical
-
depchain-1.0.0-alpha-4
-
None
-
None
"14.2.1: By default, designating an unchecked exception as an application exception also applies to subclasses of that exception."
Currently, whether annotating an exception class with @ApplicationException, or using ejb-jar.xml, the subclasses of those designated exceptions are not being applied.
This means that each individual exception must be annotated or defined in ejb-jar.xml
For example, NoSuchObjectException extends DataException, but without the following configuration, NoSuchObjectException will be wrapped in EJBException and the transaction will be rolled back.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd">
<assembly-descriptor>
<application-exception>
<exception-class>javax.persistence.PersistenceException</exception-class>
<rollback>true</rollback>
</application-exception>
<application-exception>
<exception-class>com.ocpsoft.exceptions.DataException</exception-class>
<rollback>false</rollback>
</application-exception>
<Unable to render embedded object: File (-- This is required or we get EJBException wrapping and transaction rollbacks... wrong) not found. -->
<application-exception>
<exception-class>com.ocpsoft.exceptions.NoSuchObjectException</exception-class>
<rollback>false</rollback>
</application-exception>
</assembly-descriptor>
</ejb-jar>
- is duplicated by
-
EJBTHREE-2189 Implement the "inherited" attribute functionality of @ApplicationException for EJB3.1
- Resolved