本文介绍了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:如何检查客户端和端点之间的连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!