Close Connection

Galera estou com um serio problema!!!

Quando faco um createConnection() no projeto no log do banco ele cria uma conexao e depois que eu faço um closeConnection() ele nao esta destruindo a conexao ele so muda a status de true para false, isso esta derrubanco o banco, o que posso fazer para resolver isso?

public void createConnection(){
        try {
            String driverClass    = "oracle.jdbc.driver.OracleDriver";
            String connectionURL  = "jdbc:oracle:thin:@100.100.100.27:1521:isdradsv";
            String userID         = "svi";
            String userPassword   = "isdra2010";

            System.out.print("  Loading JDBC Driver  -> " + driverClass + "\n");
            Class.forName(driverClass).newInstance();

            System.out.print("  Connecting to        -> " + connectionURL + "\n");
            con = DriverManager.getConnection(connectionURL, userID, userPassword);
            System.out.print("  Connected as         -> " + userID + "\n\n");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.out.print("erro");
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
    public Connection getConnection(){
        if (con == null){
            createConnection();
        }
        return con;
    }
    
    public void Commit(){
        if (con != null){
            try {
                con.commit();
            } catch (SQLException ex) {
                Logger.getLogger(OracleDAOFactory.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
    public void Rollback(){
        if (con != null){
            try {
                con.rollback();
            } catch (SQLException ex) {
                Logger.getLogger(OracleDAOFactory.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

    public void closeConnection() {
        try {
            System.out.print("  Closing Connection...\n");
            con.close();           
        } catch (SQLException e) {      
            e.printStackTrace();          
        }
    }

Use um pool de conexões; não reinvente a roda.

O que eu sempre faço é setar null para a conexao depois de chamar o metodo close.

conn = null;

t+

vai dar + trabalhou mais vou fazer um pool, valeu galera :smiley: