私はaccount
JSFBeanでEJBメソッドを次のように呼び出します。
try{
account.someFunction(...);
}catch(SimRuntimeException e){
logger.log(Level.FATAL, "SimRuntimeException catched !");
}catch(SimNotRuntimeException e){
logger.log(Level.FATAL, "SimNotRuntimeException catched !");
}catch(Exception e){
logger.log(Level.FATAL, "Exception catched !");
}
私の例外:
public class SimRuntimeException extends RuntimeException {
public SimRuntimeException() {
super();
}
}
@ApplicationException(rollback=true)
public class SimNotRuntimeException extends Exception {
public SimNotRuntimeException() {
super();
}
}
account.someFunction(...);
スローすると、おそらくEJBコンテナにラップされているため、ブロックSimRuntimeException
に陥ります。Exception
SimRuntimeException
EJBException
account.someFunction(...);
投げるときSimNotRuntimeException
私は予想通りに落ちますSimNotRuntimeException
Exception
では、具体的にはwith@ApplicationException(rollback=true)
とRuntimeException
pleaseの違いは何ですか?