如果你使用了Connection Pool,就先强Connection Pool得尺寸加大,一个是初始尺寸,还有一个是最大尺寸,根据访问量进行合理分配.还有可能是因为你在Servlet中使用Connection对象后没有将其关闭,记得在使用完毕后将其关闭.另一种情况就是数据库服务器没有做特别设置.不知道你使用得是哪一种数据库,一般较大得数据库都可以设置并发访问量,可以根据数据库类型去查阅相应资料将数据库得并发访问数改的大一些应该就可以了.

解决方案 »

  1.   

    我使用的是ORACLE
    可能是这个原因吧!
    我试着修改试一下
      

  2.   

    如何能够使建立的connection用完后就关掉,以至于不发生这种情况?
    我在每个jsp页面末尾都用了一个关闭connectin的方法,还是不行;
    不知道是不是weblogic盗版的原因
    希望哪位高手能够帮忙
    可以另外在加分
      

  3.   

    Connection使用完毕后必须显示的调用close方法关闭连接,不然有可能造成数据库连接不够使用的现象,例如数据库超时设置90秒,那么你的Connection就会保存90秒才被关闭,这样下去你的连接缓冲池很快就满了,无法继续分配Connection了(没有显示调用close方法的Connection缓冲池好像认为是此连接继续使用中,无法分配给其他程序使用),使用try{}catch(...){}finally{}结构确保关闭了Connection,不然你的应用会在启动后不久无法继续分配Connection
      

  4.   

    //数据库查询
    public ResultSet executeQuery(String sql){          
    try{       
    Context context=getInitialContext();
            DataSource dataSource =(DataSource)context.lookup ("NM_JDBC");
            conn=dataSource.getConnection();
           Statement stmt=conn.createStatement();
           rs=stmt.executeQuery(sql); 
    }catch(Exception e){
    System.out.println(e);
    }finally{
    connClose();
    }
    return rs;


    }
    public void connClose(){
    try{
      conn.close();
    }catch(Exception e){}
    }
    我的数据库查询bean的方法就是上面的,我用了connClose()方法来关闭连接,而且在每个jsp页面均用了connClose()方法,始终关闭不了connection,结果weblogic的连接数达到最大就出问题。
      

  5.   

    你的conn是在哪里定义的?最好是局部的,否则多线程的时候可能会出现问题,产生垃圾数据库连接指针
      

  6.   

    conn是在javabean里定义的,如上面所说的,是用的weblogic的jdbc的datasouce来连接的,每调一次数据库就增加一次连接数,空闲的conn不能关闭,
    如果我在上面的executeQuery方法里直接关闭用conn.close(),客户端调用时,weblogic显示连接已经关闭错误,不能进行数据库操作
      

  7.   

    你的Connection肯定有泄漏,可能是多线程的时候引起的问题conn=dataSource.getConnection();
    不会判断当前的conn是否有效,假如另一个线程在finally块执行前进入这个函数并执行到这一句,可能会造成原来的conn泄漏
    试着改成这样
    if( conn != null )
      conn=dataSource.getConnection();public void connClose(){
    try{
      conn.close();
                         conn = null;
    }catch(Exception e){}
    }
      

  8.   

    还是不行,不过把connection在jsp页面产生关闭,问题解决了
    谢谢了