Iniciando com a especificação Java EE 6.0, as exceções do aplicativo são herdadas pelas classes de exceção da subclasse, por padrão.
Este comportamento é configurável na anotação @ApplicationException ou no elemento
<application-exception> de um arquivo ejb-jar.xml.
Esta regra sinaliza a anotação javax.ejb.ApplicationException se ela não tiver
um atributo inherited definido e ela sinaliza o elemento <application-exception> em um arquivo ejb-jar.xml que não possui um elemento inherited
definido.
@ApplicationException a seguir:
No Java EE 5.0, ExceptionB não é considerado uma ApplicationException, mas no Java EE 6.0, ExceptionB é uma ApplicationException porque ela se estende da classe ExceptionA.
O Java EE 6.0 incluiu o atributo inherited com o valor padrão de true,
portanto, todas as classes herdadas também são ApplicationException.
É possível preservar o comportamento do Java EE 5.0 nas seguintes maneiras:
inherited = false na anotação.inherited
do elemento application-exception como false. Se você tiver um descritor
de implementação versão 3.0 existente, deverá migrar para um descritor de implementação versão 3.1 e um esquema XSD
e configurar o subelemento inherited do elemento application-exception como false.com.ibm.websphere.ejbcontainer.EE5Compatibility para manter a compatibilidade do Java EE 5.Para obter informações adicionais, consulte os recursos a seguir: