Bella novità di Java 7

2 ottobre 2011

Java

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 🙂

No comments yet.

Leave a Reply

*