A partir de la especificación Java EE 6.0, las excepciones de aplicaciones son heredadas por clases de excepción de subclase de forma predeterminada.
Este comportamiento se puede configurar en la anotación @ApplicationException o en el elemento <application-exception> de un archivo ejb-jar.xml.
Esta regla señala la anotación javax.ejb.ApplicationException si no tiene un atributo inherited definido, y señala el elemento <application-exception> en un archivo ejb-jar.xml que no tiene un elemento inherited definido.
@ApplicationException siguiente:
En Java EE 5.0, ExceptionB no se considera una ApplicationException, pero en Java EE 6.0, la ExceptionB es una ApplicationException porque se amplia a partir de la clase ExceptionA.
Java EE 6.0 ha añadido el atributo inherited con el valor predeterminado de true, de forma que todas las clases heredadas también son ApplicationException.
Puede conservar el comportamiento de Java EE 5.0 en las formas siguientes:
inherited = false a la anotación.inherited
del elemento application-exception en false. Si tiene un descriptor de despliegue de la
versión 3.0 existente, debe migrar a un descriptor de despliegue de la versión 3.1 y un esquema XSD y establecer el subelemento
inherited del elemento application-exception en false.com.ibm.websphere.ejbcontainer.EE5Compatibility para mantener la compatibilidad con Java EE 5.Para obtener más información, consulte los recursos siguientes: