EJB 애플리케이션 예외 상속의 동작 변경 확인

Java EE 6.0 스펙부터 애플리케이션 예외가 서브클래스 예외에 의해 기본 상속됩니다. 이 동작은 @ApplicationException 어노테이션 또는 ejb-jar.xml 파일의 <application-exception> 요소에서 구성할 수 있습니다.

이 규칙은 정의된 inherited 속성이 없는 경우 javax.ejb.ApplicationException 어노테이션에 플래그를 지정하고 정의된 inherited 요소가 없는 ejb-jar.xml 파일의 <application-exception> 요소에 플래그를 지정합니다.


예를 들어 규칙은 다음 @ApplicationException 어노테이션에 플래그를 지정합니다.
< span class = "Code"> @ApplicationException(롤백 = true)
public class ExceptionA extends Exception {
}

public class ExceptionB extends ExceptionA {
}

규칙은 또한 다음 예제에서 ejb-jar.xml<application-exception> 요소에 플래그를 지정합니다.
< span class = "Code"> < application-exception>
      < exception-class>ExceptionA< /exception-class>
      < rollback> true < /rollback>
</application-exception>


ejb-jar.xml의 예외는 다음 예제와 같이 애플리케이션에서 구현될 수 있습니다.
< span class="Code" > 공용 클래스 ExceptionA 는 예외 {를 확장합니다.
}

public class ExceptionB extends ExceptionA {
}

ExceptionA 클래스에서 확장하므로 ExceptionB는 Java EE 5.0에서는 ApplicationException으로 간주되지 않지만 Java EE 6.0에서는 ApplicationException입니다. Java EE 6.0이 기본값이 trueinherited 속성을 추가했으므로 모든 상속된 클래스도 ApplicationException입니다.

다음 방법으로 Java EE 5.0 동작을 유지할 수 있습니다.

자세한 정보는 다음 자원을 참조하십시오.