【发布时间】:2016-12-27 18:34:41
【问题描述】:
我有一个资源,比如为客户服务的@POST 方法。它不会在任何外部参数上运行,甚至不是调用方 URL(我们将其留给防火墙)或用户身份验证。
但是,我们不想同时处理用户请求。当 request1 正在处理并且该方法尚未返回时,进入的 request2 应该收到状态 309(或任何适用的状态代码)的响应,并且应该没有得到服务。
有没有办法做到这一点,而无需进入服务器后端的任何东西,如多线程?
我使用的是 Tomcat 8。应用程序将部署在 JBoss 上,但这不会影响结果(?)我使用 Jersey 1.19 对资源进行编码。
这是一个与How to ignore multiple clicks from an impatient user? 相关的问题。
TIA。
【问题讨论】:
-
您能告诉我们更多关于您为什么要拒绝同时来电的原因吗?我可以想到许多用于序列化处理请求的用例,即一个接一个地提示响应,但为什么要求在处理任何请求时拒绝请求?
-
@jakeblues 请参阅此 Q 中指出的 Q。可能还有许多其他情况。这样的事情会减轻后端的负担。感觉 servlet 容器提供了这个选项——不知道如何/在哪里。
-
@jakeblues 想要了解更多信息。我在网络服务方面没那么狡猾。
-
这与您的other similar question 有何不同?
标签: java rest tomcat servlets jersey