Java ErrorInterceptor на службе отдыха - PullRequest
0 голосов
/ 31 августа 2018

У меня есть служба отдыха, которая использует перехватчик при возникновении ошибки в любой из служб

@Path("/xyz")
@Interceptor(ExceptionInterceptor.class)

public class RestServices() {

Если выдается исключение, мне, возможно, придется реагировать, поэтому мне потребуется информация об услуге, в которой было исключение

Есть ли какой-нибудь способ получить следующую информацию в перехватчике, когда выдается неизвестное исключение, возможно, в InvocationContext:

  • HttpServletRequest
  • UriInfo

Я знаю, что могу попробовать / поймать каждую услугу, но это просто не очень хороший способ.

Класс перехватчика:

public class ExceptionInterceptor {

@AroundInvoke
public Object handleException(InvocationContext context) throws Exception
{
        Object proceedResponse;
        try {
                proceedResponse = context.proceed();
        } catch (Exception ex) {
                ErrorMessage msg = new ErrorMessage(ex.getMessage(), "INTERNAL_SERVER_ERROR"); 
                return Response.serverError().entity(msg.asJson()).build();
        }
        return proceedResponse;
        }

}

...