我已经创建了我的其余Web服务(在70个Java文件中约有250个服务)。我想为所有API添加响应超时处理程序。不用将其单独添加到250个位置中,有没有办法我可以在不影响现有服务的情况下进行处理?
最佳答案
我将尝试创建一个在发生异常时映射标准ExceptionMapper
的WebApplicationException
,请检查它是否是SERVICE_UNAVAILABLE
Response.Status
。如果是,请处理该异常,否则请使用默认的WebApplicationException
。
像这样:
@Provider
public class ServiceUnavailableExceptionMapper
implements ExceptionMapper<WebApplicationException> {
@Override
public Response toResponse(WebApplicationException exception) {
if (exception.getResponse().getStatusInfo()
== Response.Status.SERVICE_UNAVAILABLE) {
// Custom handler here
Response response = Response.ok().build();
return response;
} else {
return exception.getResponse();
}
}
}
关于java - 如何为我的jax-rs rest Web服务添加超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36801333/