一个网站中,设置了连接池中链接数为150,但是一段时间后,大概有五六天后,Tomcat被阻塞了,日志文件为:
2011-2-13 14:25:42 org.apache.tomcat.util.threads.ThreadPool logFull
严重: All threads (150) are currently busy, waiting. Increase maxThreads (150) or check the servlet status
后来将链接数改为1500,情况有所好转,但是大概又是五六天后,出现相同的异常,日志文件为:
2011-2-13 14:25:42 org.apache.tomcat.util.threads.ThreadPool logFull
严重: All threads (1,500) are currently busy, waiting. Increase maxThreads (1,500) or check the servlet status
数据库连接写在spring_dataSource.xml中,为以下代码:<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName"value="com.microsoft.jdbc.sqlserver.SQLServerDriver"></property>
<property name="url" value="jdbc:microsoft:sqlserver://localhost:1433"></property>
<property name="username" value="aaa"></property>
<property name="password" value="bbb"></property>
</bean>请各位大虾不吝赐教,小弟谢谢了...O(∩_∩)O~

解决方案 »

  1.   

    线程全部阻塞住了,不知道走到哪里之后线程就走不下去了。这问题非常难查!不一定就是 JDBC 的问题。如果你用的 JDK 6 的话那看看 JDK bin 中 jvisualvm 工具,那里有个线程监控的页签,可以在那里诊断一下。
      

  2.   

    我遇见过这样的问题,我那次查到的原因是程序里有个查询语句用了in
    例in(1,2,3,4,......);很多,最后就出现了这个错误,最后改sql语句后,错误没了,希望对你有帮助
      

  3.   

    不要在循环中频繁的创建connection,要是得循环操作,最好创建一个connection,重复用。
      

  4.   

    这个项目使用的是hibernate+spring+struts 对数据库的访问使用的是hibernate 而且在过滤器中已经将没有关闭的链接全部关闭了 而且使用probe.war进行线程监控也没有什么问题 感觉这个问题有点诡异啊...
      

  5.   

    日志级别提高一些,多记些东西
    另外将tomcat报错日志之前的部分也贴出来
    你自己也分析一下,看有没有规律性
      

  6.   

    试试改动tomcat的链接器配置呢?在tomcat配置文件server.xml中的配置中,和连接数相关的参数有: maxThreads: 
    Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。 acceptCount: 
    指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。 minSpareThreads: 
    Tomcat初始化时创建的线程数。默认值4。 maxSpareThreads: 
    一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。 enableLookups: 
    是否反查域名,默认值为true。为了提高处理能力,应设置为false connnectionTimeout: 
    网络连接超时,默认值60000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 maxKeepAliveRequests: 
    保持请求数量,默认值100。 bufferSize: 
    输入流缓冲大小,默认值2048 bytes。 compression: 
    压缩传输,取值on/off/force,默认值off。 
      

  7.   

     O(∩_∩)O~ 我只改过maxThreads,这次长见识了....