RT,怎么回事,现在好像每天都要发生这样的事,我进去的时候tomcat是好的,也没报内存溢出,另外日志也没报啥错,怎么回事???

解决方案 »

  1.   

    死锁在tomcat的log里面也会有异常提示的呀
      

  2.   

    把所有项目remove掉,看tomcat文件夹下还有没有项目存在.
    clean项目,重新deploy.
    还不行的话...重配tomcat试试
      

  3.   


    应为WebApp文件夹下的文件太多了的话
    tomcat启动就会变慢
      

  4.   

    如果是死锁的话,log会有一些提示,类似xxx死锁,xxx牺牲某个线程之类的提示
      

  5.   

    一个tomcat只deploy一个项目
    多开几个容器就ok了,反正端口那么多
      

  6.   

    你把工程部署了没?
    tomcat启动后 ,只能访问部署的项目
    如果你有多个项目,也只能访问一个
      

  7.   

    清理一下tomcat目录吧,wabapps和work目录都清理一下,没遇到过此类问题!!!! 
      

  8.   

     严重:All   threads   (150)   are   currently   busy,   waiting.   Increase   maxThreads   (150)   or   check   the   servlet   status  
    tomcat报这个错误,什么意思????
      

  9.   

    线程数目达到了最大值,去查看你的servlet状态!
    不知道你用的是tomcat那个版本,如果是安装的,那么你可以打开配置,进行线程的配置,如果是免安装的,你可以到网上搜下,修改tomcat最大线程数,有这个配置,和最大最小内存一块的。
    对你说的这个问题我有一下几点可以提示你:
    1、还有你说你的没有报错就打不开网站,你可以在你的项目里面放一个html页面,当打不开的时候直接打这个页面的地址,看能访问吗,如果可以那就是tomcat死掉了,如果不是那就是数据库访问的问题!
    2、查看你的数据库连接,是不是打开了数据库连接没有关闭!
    3、你的项目是不是用到了spring,如果有,看你的bean配置,是否存在线程安全问题等!
      

  10.   


    package *;import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;import org.apache.commons.dbcp.ConnectionFactory;
    import org.apache.commons.dbcp.DriverManagerConnectionFactory;
    import org.apache.commons.dbcp.PoolableConnectionFactory;
    import org.apache.commons.dbcp.PoolingDriver;
    import org.apache.commons.pool.ObjectPool;
    import org.apache.commons.pool.impl.GenericObjectPool;public class ConnectionOracle {

      private static String    
          driver="com.microsoft.sqlserver.jdbc.SQLServerDriver",//驱动   
          url = "jdbc:sqlserver://localhost:1433;DatabaseName=wz",//URL   
          Name="sa",//用户名   
          Password="******";//密码   
     
    private static Class driverClass = null;   
    private static ObjectPool connectionPool = null;   public ConnectionOracle(){          
         }       
     
     
    /**   
    * 初始化数据源   
    */    
    private static synchronized void initDataSource() {            
      if (driverClass == null) {    
          try {    
              driverClass = Class.forName(driver);    
          } catch (ClassNotFoundException e) {    
              e.printStackTrace();   
          }    
      }    
    }    /**   
    * 连接池启动   
    * @throws Exception   
    */    
    public static void StartPool() {   
      //loadProperties();   
      initDataSource();    
      if (connectionPool != null) {    
          ShutdownPool();    
      }     
      try {    
          connectionPool = new GenericObjectPool(null);  
          ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(url, Name, Password);    
          PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true);    
          Class.forName("org.apache.commons.dbcp.PoolingDriver");    
          PoolingDriver driver = (PoolingDriver) DriverManager.getDriver("jdbc:apache:commons:dbcp:");    
          driver.registerPool("dbpool", connectionPool);                 
      } catch (Exception e) {    
          e.printStackTrace();   
      }    
    }    /**   
    * 释放连接池   
    */    
    public static void ShutdownPool() {    
      try {    
          PoolingDriver driver = (PoolingDriver) DriverManager.getDriver("jdbc:apache:commons:dbcp:");    
          driver.closePool("dbpool");   
      } catch (SQLException e) {    
          e.printStackTrace();   
      }    
    }        /**   
    * 取得连接池中的连接   
    * @return   
    */    
    public static Connection getConnection() {    
      Connection conn = null;    
      if(connectionPool == null)    
          StartPool();    
      try {    
          conn = DriverManager.getConnection("jdbc:apache:commons:dbcp:dbpool");    
      } catch (SQLException e) {    
          e.printStackTrace();   
      }    
      return conn;    
    }    
     
    /**  
    * 获取连接  
    * getConnection  
    * @param name  
    * @return  
    */  
    public static Connection getConnection(String name){   
     return getConnection();   
    }   
    /**  
    * 释放连接  
    * freeConnection  
    * @param conn  
    */  
    public static void freeConnection(Connection conn){   
      if(conn != null){   
          try {   
              conn.close();   
          } catch (SQLException e) {                 
              e.printStackTrace();   
          }   
      }   
    }   
    /**  
    * 释放连接  
    * freeConnection  
    * @param name  
    * @param con  
    */  
    public static void freeConnection (String name,Connection con){   
      freeConnection(con);   
    }   
    }
    这是我的连接池,其它的地方没配,是不是连接池的问题。
      

  11.   


    /**
     * 删除一条记录
     */
    public boolean deleteAreaInfoById(String id) throws Exception { conn = DBConnection.getConnection(); sql = "delete from area where id=?";
    try{
    ps = conn.prepareStatement(sql);
    ps.setString(1, id);
    bool = ps.execute();
    }catch(Exception e){
    e.printStackTrace();
    }finally{
    if(ps!=null){
    ps.close();
    }
             DBConnection.freeConnection(conn);
    }
    return !bool;
    }这是调用的一个方法。
      

  12.   

    hibernate 里面不是可以直接配置连接池的么
      

  13.   

    看看 是否tomcat的日志中有无错误。
     这样的原因很难说出问题的所在
      

  14.   

    每回访问你工程的之前都先访问下TOMCAT 然后再去工程 或者进TOMCAT里管理下你的工程 貌似不是什么TOMCAT的BUG 是人为的波?
      

  15.   

    tomcat没有报错,但是网站打不开???  
    你的主页打不开还是 自己的web工程的页面打不开啊?
    端口有问题吗? 还有就是有的tomcat是自己带主页的
      

  16.   

    LZ解决了没啊,上面的说得很周到了,
    我也没遇到过,,根据你说的,程序压根就没执行到,可以试着重新安装下tomcat可以在程序中加点测试代码,看看程序是否执行到,,
      

  17.   

    严重: All threads (150) are currently busy, waiting. Increase maxThreads (150) or check the servlet status
    它一般报这个错误,然后就打不开了,但是静态页面是可以的,也就是说是数据得不到,但是我在本地测的时候,我按F5连续刷的时候,也会报这个错误,可是它是能取到数据的。怎么回事呀???
      

  18.   

    我在本地测试的时候,把tomcat的线程数增大到600,其它也增加,然后按F5连续刷,能把它给刷爆。但是如果是150的时候,虽然报上面的错误,可是还是能用的,怎么回事???
      

  19.   

    我发现了一个错误,之前没看到,这是在catalina_log里报的错误,错误如下:这个错误能导致TOMCAT挂掉吗2009-02-03 20:34:27 StandardWrapperValve[gonggaoForm]: Servlet.service() for servlet gonggaoForm threw exception
    java.lang.IllegalStateException: Cannot forward after response has been committed
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:324)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
    at com.ttkd.servlet.GongGaoServlet.doPost(GongGaoServlet.java:79)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:595)