從 Java EE 6.0 規格開始,依預設子類別的異常狀況類別會繼承應用程式異常狀況。
這個行為可在 @ApplicationException 註釋中或是在 ejb-jar.xml 檔的 <application-exception> 元素中配置。
此規則會標示 javax.ejb.ApplicationException 註釋(如果未定義 inherited 屬性),且會標示未定義 inherited 元素之 ejb-jar.xml 檔中的 <application-exception> 元素。
@ApplicationException 註釋:
在 Java EE 5.0 中,ExceptionB 不被視為 ApplicationException,但是在 Java EE 6.0 中,ExceptionB 是 ApplicationException,因為它是延伸自 ExceptionA 類別。
Java EE 6.0 新增了 inherited 屬性,其預設值是 true,因此所有繼承的類別也都是 ApplicationException。
您可以透過下列方式保留 Java EE 5.0 行為:
inherited = false 屬性到註釋中。application-exception 元素的 inherited 子元素明確設定為 false。 如果您擁有現有 3.0 版部署描述子,則必須移轉至 3.1 版部署描述子及 XSD 綱目,並將 application-exception 元素的 inherited 子元素設定為 false。com.ibm.websphere.ejbcontainer.EE5Compatibility 來維護 Java EE 5 相容性。如需相關資訊,請參閱下列資源: