java - 如何为我的jax-rs rest Web服务添加超时

标签 java web-services rest java-ee jax-rs

我已经创建了我的其余Web服务(在70个Java文件中约有250个服务)。我想为所有API添加响应超时处理程序。不用将其单独添加到250个位置中,有没有办法我可以在不影响现有服务的情况下进行处理?

最佳答案

我将尝试创建一个在发生异常时映射标准ExceptionMapperWebApplicationException,请检查它是否是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/

相关文章:

java - JSON,替换引号和斜杠,但是用什么替换?

java - 具有内部数组类的数组 pojo 类的 RecyclerView 适配器

java - 添加命名空间前缀 Axis2

java - 在程序中禁用鼠标光标

Java 编译器看不到我的类

networking - BlackBerry - 从真实设备访问网络服务

php - 如何将 PayPal 经典支付表单转换为 PayPal REST API PHP 应用程序?

java - 日志分析应用程序的最佳策略是什么

rest - 如何使用 REST API 在 TFS 2015 中使用搁置集触发构建

java - JTextPane 和水平线