Sol*_*anG 2 websphere jboss multithreading servlets web-container
我知道像jboss这样的Web容器有一个参数来提及要创建的servlet的线程数,这是容器可以在servlet的单个实例上运行的最大线程数.
我的问题是,有没有办法指定要创建的servlet的实例数?如果是,目的是什么?对此的需求可能是处理请求,当一个线程或单个实例上运行的线程以某种方式破坏servlet数据或destroy()它 - 冗余目的.
编辑:小心!从Servlet规范2.4开始,不推荐使用接口 javax.servlet.SingleThreadModel,不能直接替换.
规范不清楚容器是否应该创建同一个servlet的多个实例,或者始终只创建一个实例.
来自Servlet Specification 2.4 http://download.oracle.com/otndocs/jcp/servlet-2.4-fr-spec-oth-JSpec/
SRV.2.2实例数
servlet声明是包含servlet的Web应用程序的部署描述符的一部分,如第SRV.13章"部署描述符"中所述,它控制servlet容器如何提供servlet的实例.对于未托管在分布式环境中的servlet(缺省值),servlet容器每个servlet声明必须只使用一个实例.但是,对于实现SingleThreadModel接口的servlet,servlet容器可以实例化多个实例以处理繁重的请求加载并将请求序列化到特定实例.
在将servlet部署为部署描述符中标记为可分发的应用程序的一部分的情况下,每个Java虚拟机(JVMTM)的容器每个servlet声明只能有一个实例.但是,如果可分发应用程序中的servlet实现SingleThreadModel接口,则容器可以在容器的每个JVM中实例化该servlet的多个实例.
您可以在文档中找到有关单线程模型的更多信息