我有一个 jdbc 客户端,它通过联系 RMI 服务器与 postgresql 数据库进行通信。在这个 rmi 服务器中,我有一个简单的 ConnectionManager 代码:
public class ConnectionManager {
private ConnectionManager(){};
private static boolean driverLoad = false;
private static final String pgDriver="org.postgresql.Driver";
private static final String pgUrl = dbc:postgresql://localhost:5434/franchising_db";
private static final String user = "postgres";
private static final String pass = "password";
public static Connection getConnection() throws ClassNotFoundException, SQLException {
if(!driverLoad) {
Class.forName(pgDriver);
driverLoad = true;
}
return DriverManager.getConnection(pgUrl, user, pass);
}
}
现在 postgresql 有 30 个当代连接的限制,但是这种 ConnectionManager 并没有避免这种用例。我想创建一个定义数量的连接(例如 5 个),当客户端调用 getConnection 方法时,如果连接可用,则返回它,然后如果所有连接都忙,则客户端等待第一个空闲连接。我应该如何修改该代码来做到这一点?