public class ConnectionPool { private static final int MAX_POOL_SIZE = 10; private static final int MIN_IDLE_CONNECTIONS = 5; private static final long CONNECTION_TIMEOUT = 5000; private static final LinkedBlockingQueue<Connection> connectionPool = new LinkedBlockingQueue<>(); private static void initializeConnectionPool() { for (int i = 0; i < MIN_IDLE_CONNECTIONS; i++) { connectionPool.offer(createNewConnection()); } } public static Connection getConnection() { if (connectionPool.isEmpty()) { return createNewConnection(); } return connectionPool.poll(); } public static void releaseConnection(Connection connection) { connectionPool.offer(connection); } private static Connection createNewConnection() { Connection connection = ConnectionFactory.createConnection(); return connection; } public static void close() { for (Connection connection : connectionPool) { connection.close(); } connectionPool.clear(); } } public class ConnectionFactory { public static Connection createConnection() { return new Connection(); } } public class Connection { public void close() { } }


上一篇:
下一篇:
切换中文