我遇到的問題是,一個SingleThreadModel
Servlet的最大池大小在Tomcat 5.5上限制爲20個實例。我不知道在Tomcat 5.5中如何配置它。如何配置實現SingleThreadModel的servlet的最大池大小?
我的HTTP連接聲明如下:
<Connector port="8090" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="100"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
你知道我在哪裏可以配置呢?
請告訴我們更多:你怎麼知道你正在達到這樣的限制?某處出現錯誤消息?你怎麼知道tomcat正在創建20個實例?你的意思是處理20個連接? –
* servlet實例數量*和連接數量*之間存在差異。通常,servlet容器不會爲每個連接創建一個servlet實例。 – Jesper
有一個重大的誤解正在發生。在整個應用程序的生命週期中,通常只有一個映射的servlet實例。也許你的servlet實現(從2003年開始棄用)SingleThreadModel接口? (在Tomcat上確實有20個實例的默認限制)。如果這是真的,只是擺脫那個棄用的接口,並重寫你的servlet,以使它是線程安全的。相關:http://stackoverflow.com/questions/3106452/java-servlet-instantiation-and-session-variables/3106909#3106909 – BalusC