Zkontrolovat změnu chování dědičnosti výjimky aplikace EJB

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.


Např. pravidlo značí následující anotaci @ApplicationException:
< span class="Code"> @ApplicationException(rollback = true)
public class ExceptionA extends Exception {
}

public class ExceptionB extends ExceptionA {
}

Pravidlo také značí prvek <application-exception> v souboru ejb-jar.xml v následujícím příkladu:
< span class="Code"> < application-exception>
      < výjimka-třída>ExceptionA< /výjimka-třída>
      < rollback> true < /rollback>
</application-exception>


Výjimky v souboru ejb-jar.xml lze implementovat v aplikaci, jako je například následující příklad:
< span class="Code" > veřejná třída ExceptionA rozšiřuje výjimku {
}

public class ExceptionB extends ExceptionA {
}

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:

Další informace viz následující prostředky: