我tomcat下放了大概7、8个项目,用的时候会几个同时用,但用一会tomcat5占用率100%,而且登陆,就登陆不了,tomcat不报错. 这是什么原因,是不是session没有及时释放,还就是hibernate连接池配置不当,我还不会配置什么连接池 高手帮忙解答下。或者给个思路看是什么地方导致这问题的。

解决方案 »

  1.   

    贴个给你参考下,另外检查你的代码里面看看有没有session用完了后没有关闭的地方。 
    <Context   path= "/docsys "   docBase= "docsys " 
                    debug= "5 "   reloadable= "true "   crossContext= "true "> 
        <Resource   name= "mysql_ds " 
                                  auth= "Container " 
                                  type= "javax.sql.DataSource "/> 
        <ResourceParams   name= "mysql_ds "> 
            <parameter> 
                <name> factory </name> 
            <value> org.apache.commons.dbcp.BasicDataSourceFactory </value> 
            </parameter> 
      
            <parameter> 
                <name> maxActive </name> 
                <value> 100 </value> 
            </parameter> 
          
            <parameter> 
                <name> maxIdle </name> 
                <value> 30 </value> 
            </parameter> 
              
            <parameter> 
                <name> maxWait </name> 
                <value> 10000 </value> 
            </parameter> 
                  
            <parameter> 
                  <name> driverClassName </name> 
                  <value> org.gjt.mm.mysql.Driver </value> 
            </parameter> 
        </ResourceParams> 
    </Context> 
      

  2.   

    一般中间件服务器,tomcat和weblogic都不会产生因为session没有没有释放的问题,因为是中间件自己管理的,中间件自己down了只有一种可能,就是给java虚拟机的内存耗尽了,原因太多,看日志也未必会查得到,不过大部分原因都是因为数据库连接池配置不当,或者连接资源没有释放,如果你监控java虚拟器使用内存,晚晚是一开始或者过一会都不会down机,而是在突然达到访问峰值的时候就down机,这个时候你看日志,日志会说明是哪个类执行时候down的,其实不是这样,而是恰好执行到这个类的时候已经内存耗尽,每次down报错的类都肯定不会一样,检查下自己的应用吧,最好用findbug扫一下有没有且在bug,多个