java - 是否有可能停止 REST 调用?

标签 java rest

我从 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/

相关文章:

json - 何时应在 REST API 响应中忽略 null 属性?

java服务器上的javascript fetch cors错误

java - 使用 Jersey 简单Rest返回Json

api - Restful API 认证推荐?

java - 在 NIO 中配对 SocketChannel

java - hibernate 不设置别名和 oracle 抛出 `ORA-00918: column ambiguously defined` 错误

java - 无法将 UTC 转换为 IST,它仍然只返回 UTC

java - Picasso 未在 ImageView 中加载图像

java - Spring Boot Rest 响应返回 login.jsp

python - 从另一个 Flask 应用程序调用 Flask 应用程序的 REST API