是否保证单个线程执行Servlet及其过滤器?

nec*_*cer 3 java tomcat servlets java-ee servlet-filters

我已经知道大多数实现使用单个线程,但是规范中是否有任何暗示单线程的东西?我记得读过使用JVM集群的分布式应用服务器.有没有这样的实现?或者有任何这样的实现可能吗?规范对这种分布式实现意味着什么,这样的实现是否能保证单线程?

Tom*_*icz 10

相关的servlet规范3.0片段:

6.2.3过滤环境

Filter和过滤器链末尾的目标servlet或资源必须在同一个调用线程中执行.

还有太多的框架依赖ThreadLocal于其中一个过滤器中的set.如果不同的线程正在运行过滤器而其他线程正在调用servlet(技术上可行),那么它们都会被破坏.

请注意,分发仅适用于单独的请求,即群集中的不同服务器处理不同的请求.我从未听说过将单个请求拆分为机器.