📄 dbpoolmonitor.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -