Non-leaky query reads
Doing a select statement without leaking connections.
Pay special attention to the finally strategy:
Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; try { conn = JDNIConnectionFactory.getJNDIConnection(dataSourceName); stmt = conn.prepareStatement("SELECT * FROM homeinv.Item ORDER BY item_id"); rs = stmt.executeQuery(); while ( rs.next() ) { getItems().add(readItem(rs)); } } catch ( Exception exc ) { exc.printStackTrace(); } finally { try { if ( rs!= null) rs.close(); } catch (Throwable t) {} try { if ( stmt!= null) stmt.close(); } catch (Throwable t) {} try { if ( conn!= null) conn.close(); } catch (Throwable t) {} }