我从 Javascript 调用一个计算密集型的 REST 方法。如果您不再对它返回的内容感兴趣,是否可以停止该 REST 调用。
我明白,在 JS 中可以中止请求。但它不会停止由于 REST 调用而触发的线程。这就是我在 JS 中中止 ajax 调用的方式。 Abort Ajax requests using jQuery
REST 接口(interface)是用 Java 编写的。并且在内部这个线程也可以创建多个线程。
我想停止 Java 线程。但来自来电者。来自 JS,我在那里触发了它。 How to properly stop the Thread in Java?
最佳答案
正如 Chris 在上面的评论中提到的,REST 调用应该很快,绝对不是一个小时。如果服务器需要完成大量工作并且需要花费大量时间,那么您应该将设计修改为异步。要么提供服务器完成后将使用的回调(也称为“推”方法),要么每隔几分钟“拉”一次,通过向服务器发送新请求来查看是否完成了。
为了实现它,您需要服务器为每个请求返回一个唯一的 ID,以便能够在回调/检查调用中识别该特定请求的状态。
unique-id 应在服务器端实现,以避免两个客户端发送相同的 ID - 相互覆盖。
在 link我在上面发布的内容您可以看到如何实现“停止线程”机制的示例,该机制可以在服务器端实现并由客户端在需要时调用。
关于java - 是否有可能停止 REST 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33151027/