1
我想为我的bean使用拦截器,它将检查给定连接标记的有效性。在EJB3中处理拦截器异常的正确方法是什么?
如果连接无效,我想抛出一个特殊的异常,如果连接过期,我想发送另一个(TokenExpiredException,类似这样的东西)。这些例外包含在提供给客户端的界面中。
@AroundInvoke
public Object checkParams(InvocationContext ctx) throws TokenExpiredException, Exception{
//code to check token
//...
throw new TokenExpiredException();
}
从我试过了,在拦截投掷这种特定的异常导致对客户端的UndeclaredThrowableException
。虽然这个例外包括了对事业的提及,但它并不是很理想,并且不能用常规的catch语句来处理。
然后用Interceptors声明不同的异常类型的正确方法是什么?