Java Rest API:如何检查客户端和端点之间的连接? [英] Java Rest API: how to check connection between client and endpoint?

查看:119
本文介绍了Java Rest API:如何检查客户端和端点之间的连接?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何检查发送休息请求的用户是否使用Ctrl-C中止了该请求? 我需要在服务器端进行检查,因为这需要几分钟.如果用户中止了它,那么我应该停止它.

How I can check if user who sent rest request aborted it using Ctrl-C? I need to check it on server side because it takes several minutes. If user aborted it then I should stop it.

我试图写ServletOutputStream,但是它不起作用(我从不捕获异常):

I tried to write to ServletOutputStream but it doesn't work (I never catch exception):

@Path("test")
public void test(@Context MessageContext mc) {
  try {
     ServletOutputStream out = mc.getHttpServletResponse().getOutputStream();
     out.println("test");
     out.flush();
  } catch (IOException e) {
     System.out.println("Connection is broken");
     return;
  }
}

找到的解决方案:

    private boolean isConnected() {
    try {
        servletResponse.getOutputStream().println("data");
        servletResponse.flushBuffer();
        return true;
    } catch (IOException e) {
        return false;
    }
}

推荐答案

private boolean isConnected() {
    try {
        servletResponse.getOutputStream().println("data");
        servletResponse.flushBuffer();
        return true;
    } catch (IOException e) {
        return false;
    }
}

这篇关于Java Rest API:如何检查客户端和端点之间的连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆