Skip to content

一个实现了心跳检测和连接状态维护的连接池

Notifications You must be signed in to change notification settings

OneOFF-ive/MyConnectionPool

Repository files navigation

MyConnectionPool

手动实现一个连接池

ConnectionFactory 接口用于生成连接和检测连接状态,提高复用性
PoolConfig 用于配置连接池信息

public class PoolConfig {
    //连接池最大连接数
    public int maxSize;
    //连接最大空闲时间
    public long maxIdleTime;
    //连接池是否心跳检测
    public boolean heartBeat;
    //连接池是否检测连接超时
    public boolean checkTimeOut;
    //连接池是否检测连接状态
    public boolean validateConnection;
    //每次从连接池中获取连接或归还连接时是否检测连接可用性
    public boolean checkAlways;
}

连接池的使用方法:

//构造方法
public MyConnectionPool(PoolConfig poolConfig, ConnectionFactory<T> connectionFactory)
//获取连接
public T getConnection()
//返还连接
public void releaseConnection(T conn)
//关闭连接池
pulic void shutdown()
//初始化连接池,连接池创建时自动调用,通常不需要手动调用,只有在关闭连接池后才需要使用
public void init()

MyThreadPool 是一个简单的线程池,使用阻塞队列实现

About

一个实现了心跳检测和连接状态维护的连接池

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages