⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apprun.java

📁 Java实现的数据库连接池原代码
💻 JAVA
字号:
package text;
import dateBaseConnectionPool.*;
import dateBaseConnectionPool.poolException.*;
import java.sql.Connection;

public class AppRun {
    public static void main(String[] args){
        ConnectionPool c = new ConnectionPool() {
            protected Connection CreateConnection(String connString, String driveString, String userID, String password) throws CreateConnectionException {
                try {
                    Class.forName(driveString);
                    Connection con = java.sql.DriverManager.getConnection(connString, userID, password);
                    return con;
        } catch (Exception e) {throw new CreateConnectionException();}
            }
        };

        try {
            c.set_String(
                    "jdbc:microsoft:SQLserver://127.0.0.1:1433;databasename=master",
                    "com.microsoft.jdbc.sqlserver.SQLServerDriver");
            c.set_DataBaseUser("sa", "sa");
            c.set_KeepRealConnection(2);
            c.set_MinConnection(3);
            c.set_MaxConnection(10);
            c.set_MaxRepeatDegree(2);
            c.set_SeepConnection(3);
            try {
                c.StartServices();
            } catch (PoolNotStopException ex1) {}
            Pool p = new Pool();
            p.c = c;
            p.start();

            Thread.currentThread().sleep(5000);
            p.stop();
            c.Dispose();
        }catch (Exception e){}
        /*
        while(true)
        {
            if (c.get_PoolState()==ConnectionPool.PoolState_Stop)
                c.StartServices();
            else if (c.get_PoolState()==ConnectionPool.PoolState_Run)
                c.StopServices();
            System.out.println("set ConnectionPool state!");
            Thread.currentThread().sleep(2000);
        }
        */
    }
}


class Pool extends Thread {
    public ConnectionPool c;

    public void run() {

        while (true) {
            try {
                c.GetConnectionFormPool(new Object(), ConnectionPool.ConnLevel_Bottom);
                Thread.sleep(2000);
                System.out.println("实际连接(包含失效的):" + c.get_RealFormPool());
                System.out.println("实际连接(不包含失效的):" + c.get_PotentRealFormPool());
                System.out.println("目前可以提供的连接数:" + c.get_SpareFormPool());
                System.out.println("空闲的实际连接:" + c.get_SpareRealFormPool());
                System.out.println("已分配的实际连接:" + c.get_UseRealFormPool());
                System.out.println("已分配连接数:" + c.get_UseFormPool());
                System.out.println("已分配只读连接:" + c.get_ReadOnlyFormPool());
                System.out.println("--------------------------");
            } catch (Exception ex) { System.out.println(ex.getMessage());}
        }
    }
}

⌨️ 快捷键说明

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