我在tomcat里设置了一个调度任务,每隔一段时间建立一个和数据库的连接读值,然后关闭连接。但是过一会连接数就满了?
我用的调度任务的方法见这个连接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();等语句
请问为啥连接数不断增加呢? 
期待高手啊!!!
------最佳解决方案--------------------你配置的是连接池吧。。。如果你配置10个连接。。它会一直保持在10个连接。。
你所谓的关闭只是把他释放到连接池里边。。。表示空闲。。但实际上他还是连接着DB。。
------其他解决方案--------------------大哥  你用完了木有关闭  dbeu.close();
------其他解决方案--------------------我那个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();
		}