都是夜猫子,帮你顶顶!SSH没整过。不过有过这样的情况,MYSQL默认连接好像是15个;当时采用了JS将页面放大和重刷新解决的。原来公司代码都保密,整不出来,只知道方案。将数据放置在FORM载体中而非SESSION,CONTEXT之类的容器中。

解决方案 »

  1.   

    java.lang.NullPointerException  
    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:788)  以及
    at org.aorons.blog.dao.impl.IUserDAOImpl.QueryAll(IUserDAOImpl.java:21)  
    看,你的 
    IUserDAOImpl.java 的第21行有问题,那个是不是一个获得数据库连接的代码啊我才你的程序有如下问题
    1 数据源的最大连接数只有10吧,太小了,放的大一点,比如50
    2 检查你的代码,是不是只获取了连接,而没有close链接,造成连接的泄漏
    3 是不是有数据库死锁问题问题2和3都可以通过查看数据路的活跃连接数确定。
    2的可能性最大
      

  2.   

    可以找来一些 监控jdbc连接释放的软件帮你分析
      

  3.   


    谢谢各位大大的回答,这个是17~24行的代码。public List QueryAll() throws Exception {
    List all = null;
    String hql = "FROM User as u";
    Query q = super.getSession().createQuery(hql);
    all = q.list();
    super.getSession().close();
    return all;
    }21行的代码是all = q.list();
    我在applicationcontext.xml里已经自动关闭连接了。
    在action中也关闭session了为什么会出现这样的问题?
      

  4.   

    而且已经用了super.getsession.close 不是已经关了么?
      

  5.   

    我在applicationcontext.xml里已经自动关闭连接了。 你误解了,那个是当Datasource被销毁时才调用的,不是自动关闭连接。
    至于你的那个close(), 我搞不懂,我只看结果。
      

  6.   

    你的hibernate session用法不对。而session是自动管理的不用你关。
    如果你用spring的话可以这样获取session
    getHibernateTemplate().getSessionFactory().openSession();
    注意,用完不要关。
      

  7.   

    问题是可以查询,但查询8次后,整个java连接数据库的页面就死掉。。
    php的却可以访问数据库。