Počínaje specifikací Java EE 6.0 jsou výjimky aplikací při výchozím nastavení zděděny třídami výjimek podtřídy.
Toto chování lze konfigurovat v anotaci @ApplicationException nebo prvku <application-exception> souboru ejb-jar.xml.
Toto pravidlo značí anotaci javax.ejb.ApplicationException, pokud nemá definován atribut inherited a značí prvek <application-exception> v souboru ejb-jar.xml, který nemá definován prvek inherited.
@ApplicationException:
V prostředí Java EE 5.0 se výjimka ExceptionB nepovažuje za výjimku ApplicationException, ale v prostředí Java EE 6.0 je výjimka ExceptionB výjimkou ApplicationException, protože se rozšiřuje ze třídy ExceptionA.
Prostředí Java EE 6.0 přidalo atribut inherited s výchozí hodnotou true, takže všechny zděděné třídy jsou také ApplicationException.
Chování prostředí Java EE 5.0 lze zachovat následujícími způsoby:
inherited = false.inherited prvku application-exception na hodnotu false. Máte-li existující deskriptor implementace verze 3.0, je třeba provést migraci na deskriptor implementace verze 3.1 a schéma XSD a nastavit dílčí prvek inherited prvku application-exception na hodnotu false.com.ibm.websphere.ejbcontainer.EE5Compatibility lze udržovat kompatibilitu s prostředím Java EE 5.Další informace viz následující prostředky: