在调用ejb3方法时获取远程异常


method(){
try{
some code..
}
catch(Exception e)
{
throw new userDefineException();
}
}

//当从java客户端调用上述方法时,我得到了远程异常,但我期望得到UserdefineException。

EJB容器将在RemoteException(或本地视图的ejbeexception)中包装未声明的(系统)异常。为了避免这种情况,您应该:

  1. 将UserDefineException扩展为Exception而不是RuntimeException,并将UserDefineException添加到远程接口的抛出子句中

  2. 注释UserDefineException为@ApplicationException,或者在ejb-jar.xml中指定为<application-exception>com.example.UserDefineException</application-exception>

相关内容

最新更新