我用的调度任务的方法见这个连接http://wenku.baidu.com/view/1e10172ce2bd960590c677f8.html这个调度方法就是在tomcat的web.xml文件里做设置,每隔几分钟就执行一个java类。这个java类里有个进程。我在这个进程里初始化数据库,然后做查询,再关闭连接。具体操作见下:  public void run() { 
    Calendar cal = Calendar.getInstance(); 
    if (!isRunning) { 
        isRunning = true; 
        context.log("开始执行任务"); 
        DB_exeu dbeu = new DB_exeu();
        dbeu.conn();
dbeu.exeu_sql();
        isRunning = false;
        context.log("任务结束"); 
    }
    else { 
      context.log("上一次任务未结束"); 
    } 
  } 
dbeu.conn()函数包括connectionPool = new BoneCP(config);和connection = connectionPool.getConnection();等连接建立语句dbeu.exeu_sql()函数包括rs = stmt.executeQuery(sql_update);和rs = stmt.executeQuery(sql); rs.close(); stmt.close(); connection.close();等语句请问为啥连接数不断增加呢? 期待高手啊!!!

解决方案 »

  1.   

    大哥  你用完了木有关闭  dbeu.close();
      

  2.   

    我那个dbeu.exeu_sql()里有 connection.close();我每次都关闭了,怎么连接数不见减少呢?
    每30秒都执行一次dbeu.conn和dbeu.exeu_sql()函数
    dbeu.conn()函数里代码如下: try {
    connectionPool = new BoneCP(config);
    } catch (SQLException e) {
    e.printStackTrace();
    }
    try {
    connection = connectionPool.getConnection();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    try {
    stmt = connection.createStatement();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    dbeu.exeu_sql()函数里代码如下: try {
    rs = stmt.executeQuery(sql_update);
    rs.close();
    stmt.close();
    connection.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }