Допустим, у меня есть перехватчик, который выглядит примерно так:
public class AuthorizationInterceptor {
Logger log = Logger.getLogger(getClass().getName());
@AroundInvoke
private Object authorize(InvocationContext ic) throws Exception{
// ... some other logic for authorization
if (!allowedMethods.contains(ic.getMethod().getName())){
log.info("Authorization failed. Preparing to throw exception");
throw new AuthException("Authorization failed for method " +
ic.getMethod().getName());
}
return ic.proceed();
}
}
, который применяется к различным методам из моих EJB.
Обычно я ожидаю, что исключение будет передано вызывающему клиенту, как и все обычные исключения EJB.
По-видимому, этого не произойдет, если я выброшу его из перехватчика ... Он даже не регистрируется на сервере; как будто он никогда не генерируется, хотя он есть - оператор return никогда не выполнялся.
Что я делаю не так?
Я использую GF 3.0.1