2016-10-05 3 views
1

EJB 3.1 @ApplicationException을 런타임 예외에 적용하여 체크되지 않은 애플리케이션 예외로 표시 할 수 있다는 것을 알고 있습니다. 그러나 롤백 전용 (예 : rollback=true)으로 구성하기 위해 체크 예외 (즉, 응용 프로그램 예외)를 사용할 수도 있고 런타임 예외에서만 허용 할 수 있습니까?체크 된 예외에 대해 @ApplicationException을 사용하여 롤백 속성을 설정하십시오.

+1

, 나는''@ApplicationException (롤백 = true)를 사용하여 동안 컨테이너에 의해 런타임 예외로, 빈 인스턴스가 가능성이 파괴 얻을 것이라는 점을 추가하고 싶습니다 풀에서 bean을 그대로두고 롤백 만합니다. – Leonardo

+0

@leonardo 좋은 지적. –

답변

0

를 (이 응용 프로그램을 가지고 나쁜 디자인의 선택이 될 수 있지만 /. 클라이언트가 그것에서 트랜잭션의 복구 할 수없는 예외를 확인) 그러나 그것은 또한 (체크 된 예외에 사용할 수 있습니다 만 (즉, rollback=true) 롤백로를 구성하기 위해 기본적으로 응용 프로그램 예외) 또는 만

응용 프로그램 예외가 rollback=true TELL 컨테이너를 설정하여 자동 컨테이너 관리 롤백을 야기 해달라고 런타임 예외 허용된다 롤백 거래 이온이 클라이언트에 전달되기 전에 이는 다음 코드가 모두 롤백 (rollback)되어 예외가 전달된다는 것을 의미합니다.

B'Bek 설명 것 외에도
//specifies as checked expection 
@ApplicationException(rollback=true) 
public class ParkingSystemException extends Exception { 
ApplicationException 

//specifies as system exception as application Exception 
@ApplicationException(rollback=true) 
public class ParkingSystemException extends RuntimeException {