Pool com JNDI

Estou usando o seguinte código abaixo para fazer um pool de conexões, no momento estou abrindo com o método open() e fechando com o método closeAll() cada vez que uso o BD, é correto isso ou devo deixar open como static ou ainda verificar se o conn esta aberto para não abrir novamente? Como se comportaria o open deixtando como static?

    public void open() throws Exceptions {
        try {
            Context ctx = new InitialContext();
            if (ctx == null) throw new NamingException("No initial context");

            DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mydb");
            if (ds == null) throw new NamingException("No data source");

            conn = ds.getConnection();
            if (conn == null) throw new SQLException("No connection");            
        } catch (Exception erroOpenBD) {
            System.out.println("Erro ao conectar do BD");
        }
    }

    public void closeConn() {
        try {
            if (conn == null) return;
            conn.close();
            conn = null;            
        } catch (Exception erroCloseConn) {
            System.out.println("Erro ao fechar conn");
        }
    }
    
    public void closeResult() {
        try {
            if (rs == null) return;
            rs.close();
            rs = null;            
        } catch (Exception erroCloseResult) {
            System.out.println("Erro ao fechar rs");
        }
    }
    
    public void closePassQuery() {
        try {
            if (psmt == null) return;
            psmt.close();
            psmt = null;            
        } catch (Exception erroResult) {
            System.out.println("Erro ao fechar psmt");
        }
    }
    
    public void closeAll() {
        try {
            closePassQuery();
            closeResult();
            closeConn();
        } catch (Exception erroCloseBD) {
            System.out.println("Erro ao fechar Bando de Dados");
        }
    }

Obrigado

Alguém já trabalho com conexão desse tipo, sabe qual é a melhor forma?

Obrigado