dbpoolmonitor.java

来自「淘客在线客服管理系统(TaokeOCS V3.2)」· Java 代码 · 共 46 行

JAVA
46
字号
package dbpool;
import java.util.*;
import java.lang.*;
import java.sql.*;
public class DbPoolMonitor implements Runnable{
	
	private static long monitorInterval = 30;
 	static boolean threadOn=false;
	private DBConnectionManager dbpool=null;
	private Connection connection;
  	public DbPoolMonitor(){	
	   if(threadOn==false){	
		dbpool= DBConnectionManager.getInstance();	   			 	 
	   	Thread th=new Thread(this);
  		th.start();
		threadOn=true;
 	   }		 
	}
  	public void run(){
      		while (threadOn){  				  
			try{		
				if(dbpool.getNumberOfFreeConnections("mysql")<3) 
					addNewConnection();
  				Thread.sleep(monitorInterval); // 
			}catch (InterruptedException e1) {}  			
		}
  	}
	/**
	*增加一个数据库空闲连接
	*/ 
	private void addNewConnection(){
	 	connection=dbpool.getConnection("mysql");
		if(connection==null) 
			connection=dbpool.getConnection("mysql",3000); //超时3秒 
		if(connection==null){//如果依旧不能获取数据库连接 就把连接池初始化
			dbpool.getDocInstance().reset();
			connection=dbpool.getConnection("mysql");
			if(connection==null) 
				connection=dbpool.getConnection("mysql",3000); //超时3秒 
		}
		dbpool.freeConnection("mysql",connection); 
			connection=null;	
	}
 
 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?