Java 拦截客户端与spring的断开连接?

Java 拦截客户端与spring的断开连接?,java,web-services,spring,rest,Java,Web Services,Spring,Rest,我有一个基于spring的web服务(JAX-RS),我希望在长时间运行操作时拦截客户端断开连接。 例如,当客户机执行HTTP调用时,该调用在服务器上创建了一个工作负载,但由于某种原因(进程终止)断开了连接,我希望截获该断开连接并取消服务器上的工作,因为客户机永远不会得到他等待的结果 春天有可能吗 谢谢 没有,但这与春天无关 即使您可以直接访问用于HTTP传输的套接字,您也无法检测到另一个对等方在不尝试读取或写入套接字的情况下关闭了该套接字。如果不与任何HTTP协议处理程序冲突,这是不可能的,显

我有一个基于spring的web服务(JAX-RS),我希望在长时间运行操作时拦截客户端断开连接。 例如,当客户机执行HTTP调用时,该调用在服务器上创建了一个工作负载,但由于某种原因(进程终止)断开了连接,我希望截获该断开连接并取消服务器上的工作,因为客户机永远不会得到他等待的结果

春天有可能吗


谢谢

没有,但这与春天无关


即使您可以直接访问用于HTTP传输的套接字,您也无法检测到另一个对等方在不尝试读取或写入套接字的情况下关闭了该套接字。如果不与任何HTTP协议处理程序冲突,这是不可能的,显然也在尝试使用套接字。

为什么不异步启动处理,并创建一个类似
getStatus()
的方法,供客户端定期检查状态。我应该这样做。但我也为客户端提供了一种阻塞方法。我认为他可以使用一些基于window.onbeforeunload事件的javascript解决方法,并使用ajax触发所需的停止。我不同意。可以知道TCP套接字是否已正常关闭:(“当一个端点希望停止其一半连接时,它会发送一个FIN数据包,另一端用ACK确认该数据包。”)