Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Spring3中处理客户端取消请求?_Java_Spring Mvc - Fatal编程技术网

Java 如何在Spring3中处理客户端取消请求?

Java 如何在Spring3中处理客户端取消请求?,java,spring-mvc,Java,Spring Mvc,我有一个带有@RequestMapping映射方法的控制器,它返回一个JSON格式的对象,所以它也有@ResponseBy。在生产者/消费者类型的情况下,获取它应该返回的对象的一部分是对象上的wait() 客户机当然可以随时取消其请求,但我希望能够在客户机取消时中断控制器正在执行的wait()命令。目前,ajax请求抛出一个带有statusType timeout的客户端错误,我可以在客户端处理它。但它似乎仍然在服务器端留下了一个线程等待我清理 但是怎么做呢 我似乎还记得在旧的web应用程序中出

我有一个带有@RequestMapping映射方法的控制器,它返回一个JSON格式的对象,所以它也有@ResponseBy。在生产者/消费者类型的情况下,获取它应该返回的对象的一部分是对象上的wait()

客户机当然可以随时取消其请求,但我希望能够在客户机取消时中断控制器正在执行的wait()命令。目前,ajax请求抛出一个带有statusType timeout的客户端错误,我可以在客户端处理它。但它似乎仍然在服务器端留下了一个线程等待我清理

但是怎么做呢

我似乎还记得在旧的web应用程序中出现了套接字关闭类型的错误,我不认为WebLogic 10.3上的Spring 3应用程序会出现这种情况

当控制器处于等待状态时,客户端请求被取消时,我看到这样的日志记录:


“我建议将您的控制器逻辑放在try/catch中,并尝试杀死catch块中的线程。

我认为这又回到了底层Web服务器impl以及它如何处理取消/停止的请求。大多数服务器的I'va有过检测“断管”的经验“当服务器尝试写入响应时。也许试着等待一段时间,写一些无关紧要的东西(例如空格)来回应,然后再等待?