java - 如何防止 Web 服务 API 中的并发?

标签 java web-services api rest concurrency

我们有三个 Web 服务(/a/b/c),每个服务都映射到一个方法( go()) 在单独的 Java 类(ClassAClassBClassC)中。

只能同时运行一个服务(即:/b 不能在 /a 运行时运行)。然而,由于这是一个 REST API,因此无法阻止客户端请求同时运行的服务。

在服务器上强制服务不要并发运行的最好和最简单的方法是什么?


更新:这是一个内部应用,我们的负载不会很大,只有一个应用服务器。

更新:这是一个主观问题,因为您可以对影响最终答案的一般应用程序设计提出不同的论点。接受了 overthink 的回答,因为我发现它最有趣、最有帮助。

最佳答案

您的设计有缺陷。服务应该是幂等的。如果您拥有的类(class)不支持该功能,请重新设计它们直到支持为止。听起来这三种方法中的每一种都应该是服务的基础,而不是类。

关于java - 如何防止 Web 服务 API 中的并发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1777542/

相关文章:

php - 用于 mod_php 或 PHP 的 Apache2 API(或其他网络服务器)

java - 所见即所得的 XML 编辑器 java

java - matlab java类路径问题

web-services - 网络服务道路交通和事故

web-services - 改善SOAP UI性能

php - FedEx express 汇率 API 请求

java - 下降阶乘JAVA

java - 数组中的表达式错误开始非法

java - 网络服务中的客户详细信息

HTML 差异工具 API