0

RMIサーバーに接続してpostgresqlデータベースと通信するjdbcクライアントがあります。この 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 メソッドを呼び出したときに、接続が利用可能な場合はそれを返し、すべての接続がビジーの場合、クライアントは最初の空き接続を待ちます。それを行うには、そのコードをどのように変更すればよいですか?

4

1 に答える 1