java - 如何限制 tomcat/java Web 服务器世界中每个路由的最大线程

标签 java multithreading rest tomcat servlet-3.0

假设我已经实现了一些Rest端点。
现在我想确保特定的路由(比如说POST/log)最多只能获得2个线程,而其他重要路由则获得其余的线程

在加载期间,我们不希望线程池中的许多线程投资于 POST/log 路由。我们不关心 POST/log 路由。

[1] 在tomcat中如何实现这一点?

[2] 除了在网络服务器上中继之外,还有其他方法可以实现此目的吗?


PS:我确实在 Servlet 中找到了 SingleThreadModel 接口(interface),但它已被弃用。

编辑:

我不想添加过滤器和计数请求,一旦超出限制,就会删除请求,因为在这种情况下,JVM 仍会花费精力切换线程上下文,只是为了运行我的计数请求并删除请求

理想情况下,像 NODE.JS 的事件循环这样的东西会被引用,其中只有一个线程正在处理请求,而其他线程则排队。

据我所知,实现这一目标的一种简单方法是使用不同的连接器进行路由并为每个连接器分配线程池。但我正在寻找适合开发的东西。

最佳答案

设置QoSFilter并为您想要限制的 url 模式适当标记您的优先级。

关于java - 如何限制 tomcat/java Web 服务器世界中每个路由的最大线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35848202/

相关文章:

java - Android 从 Fragment 启动相机 Intent

c# - 从线程中的表单控件获取数据

java - HttpMessageNotReadable 异常 : JSON parse error: cannot deserialize instance of ArrayList out of start object token

python - 没有身份验证的 Django Rest Framework + 仅 GET

c# - 在 BackGroundWorker 中运行方法并显示 ProgressBar

java - REST ajax 请求每 5 分钟调用一次 |网络逻辑

Java健身函数

java - 对于少量信息,java 文件 i/o 或 derby 哪个更快?

java - 当我将 SimpleDateFormat 类与 "YYYY"一起使用时,应用程序崩溃

java - android中的套接字、线程和服务,如何让它们协同工作?