Bella novità di Java 7

Oggi vi presento una bella (a mio vedere) novità introdotta da Java7, si tratta del “try with resources”, ovvero come dimenticarsi di rilasciare le risorse come ad esempio la connessione al db 🙂

Vediamo in dettaglio di cosa parlo..

Come avreste scritto un programmino per fare una query a db con java6??

Pressocchè in questo modo credo:

public void queryJavaSei() {
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    try {
        conn = DriverManager.getConnection(blablabla);
        stmt = conn.createStatement();
        rs = stmt.executeQuery(blablabla);
        while (rs.next()) {
            rs.getblablabla;
        }
    } catch (SQLException e) {
        log.blablabla;
    } finally {
        if (rs != null) {
            try {
               rs.close();
            } catch (SQLException e) {
                log.blablabla;
            }
        }
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                log.blablabla;
            }
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                log.blablabla;
            }
       }
    }
}

Bello lungo e complicato rispetto alla versione java7 qui di seguito:

public void queryJavaSette() {
    try(Connection conn = DriverManager.getConnection(blablabla);
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(blablabla)) {
        while (rs.next()) {
            rs.getblablabla;
        }
    } catch (SQLException e) {
        log.blablabla;
    }
}

Così facendo si pone fine ad un’errore umano che crea molti grattacapi in produzione/esercizio dove le connessioni non chiuse possono portare al collasso del server.

Se ti è stato utile il mio articolo, spendi un secondo del tuo tempo e dammi un +1, Google ed io ne saremmo felici 🙂 Grazie mille 🙂
Precedente Validare un indirizzo email utilizzando il DNS Successivo Come cancellare definitivamente il profilo facebookHow to permanently delete your facebook profile

Lascia un commento

dodici − 9 =

*

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.