Java 如何在Spring3中处理客户端取消请求?
我有一个带有@RequestMapping映射方法的控制器,它返回一个JSON格式的对象,所以它也有@ResponseBy。在生产者/消费者类型的情况下,获取它应该返回的对象的一部分是对象上的wait() 客户机当然可以随时取消其请求,但我希望能够在客户机取消时中断控制器正在执行的wait()命令。目前,ajax请求抛出一个带有statusType timeout的客户端错误,我可以在客户端处理它。但它似乎仍然在服务器端留下了一个线程等待我清理 但是怎么做呢 我似乎还记得在旧的web应用程序中出现了套接字关闭类型的错误,我不认为WebLogic 10.3上的Spring 3应用程序会出现这种情况 当控制器处于等待状态时,客户端请求被取消时,我看到这样的日志记录:Java 如何在Spring3中处理客户端取消请求?,java,spring-mvc,Java,Spring Mvc,我有一个带有@RequestMapping映射方法的控制器,它返回一个JSON格式的对象,所以它也有@ResponseBy。在生产者/消费者类型的情况下,获取它应该返回的对象的一部分是对象上的wait() 客户机当然可以随时取消其请求,但我希望能够在客户机取消时中断控制器正在执行的wait()命令。目前,ajax请求抛出一个带有statusType timeout的客户端错误,我可以在客户端处理它。但它似乎仍然在服务器端留下了一个线程等待我清理 但是怎么做呢 我似乎还记得在旧的web应用程序中出
“我建议将您的控制器逻辑放在try/catch中,并尝试杀死catch块中的线程。我认为这又回到了底层Web服务器impl以及它如何处理取消/停止的请求。大多数服务器的I'va有过检测“断管”的经验“当服务器尝试写入响应时。也许试着等待一段时间,写一些无关紧要的东西(例如空格)来回应,然后再等待?