Re: Memory leak ?
От | Pierre Le Mouëllic |
---|---|
Тема | Re: Memory leak ? |
Дата | |
Msg-id | 4D9C4789.5070406@xgs-france.com обсуждение исходный текст |
Ответ на | Re: Memory leak ? (Mikko Tiihonen <mikko.tiihonen@nitorcreations.com>) |
Список | pgsql-jdbc |
Same problem with adding rs.close() :<br /><br /> sQLStatement.setInt(1, 2602);<br /> rs = sQLStatement.executeQuery();<br/> rs.close();<br /><br /> sQLStatement.setInt(1, 2604);<br /> rs = sQLStatement.executeQuery();<br/> rs.close();<br /><br /> sQLStatement.setInt(1, 2605);<br /> rs = sQLStatement.executeQuery();<br/> rs.close();<br /><br /><div class="moz-signature"><font color="#000080" face="Arial" size="2"><b>PierreLE MOUËLLIC<br /><br /></b></font><a href="mailto:pierre.lemouellic@xgs-france.com" moz-do-not-send="true"><fontcolor="blue" size="1"><u></u></font></a></div><br /> Le 06/04/2011 12:30, Mikko Tiihonen a écrit :<blockquote cite="mid:4D9C40BA.3080606@nitorcreations.com" type="cite">On 06/04/11 13:11, Pierre Le Mouëllic wrote:<br /><blockquote type="cite">With this code : <br /><br /> public class TestJDBC { <br /><br /> private staticTimer timer; <br /><br /> private static Connection connDB; <br /> private static PreparedStatement sQLStatement;<br /><br /> public static void main(String[] args) throws SQLException, ClassNotFoundException { <br /><br/> connexion("jdbc:postgresql://praslin.qual.dc1:5432/G01DPM","postgres8","password");<br /><br /> timer = new Timer(); <br /> timer.schedule(new local_task(), 1000L, 1000); <br /> } <br /><br /> static class local_task extends TimerTask { <br /><br /> public void run() { <br /> ResultSet rs=null;<br /> try { <br /> sQLStatement.setInt(1, 2602); <br /> rs = sQLStatement.executeQuery();<br /></blockquote><br /> Missing <br /> rs.close(); <br /><br /><blockquote type="cite"> sQLStatement.setInt(1, 2604); <br /> rs = sQLStatement.executeQuery(); <br /></blockquote><br/> Missing <br /> rs.close(); <br /><br /><blockquote type="cite"> sQLStatement.setInt(1,2605); <br /> rs = sQLStatement.executeQuery(); <br /> } catch (SQLExceptione) { <br /> } <br /> finally{ <br /><br /> try { <br /> if(rs!=null) <br /> rs.close(); <br /> } catch (SQLExceptione) { <br /> } <br /></blockquote> > <br /><blockquote type="cite"> rollBack();<br /> } <br /> } <br /> } <br /><br /> public static void connexion(String chemin,String user, String password) throws SQLException, ClassNotFoundException <br /> { <br /> Class.forName("org.postgresql.Driver");<br /> String url = chemin+"?user="+user+"&password="+password; <br /><br/> // Connexion <br /> connDB = DriverManager.getConnection(url); <br /> connDB.setAutoCommit(false);<br /> initPreparedStatement(); <br /> } <br /><br /> private static voidinitPreparedStatement() throws SQLException <br /> { <br /> sQLStatement = connDB.prepareStatement("selectf_transite(?,'FPL','225',9,'test','','')"); <br /> } <br /><br /> public staticvoid rollBack() <br /> { <br /></blockquote> > <br /><blockquote type="cite"> try <br /> {<br /> connDB.rollback(); <br /> } <br /> catch(SQLException ex) <br /> { <br /> } <br /> } <br /> } <br /><br /> In eclipse Helios profiler, Jdbc3ResultSet live instances increase (andnever decrease). Same thing with <br /> org.postgresql.core.v3.QueryExecutorImpl$ErrorTrackingResultHandler and org.postgresql.core.v3.QueryExecutorImpl$1classes. <br /><br /> f_transite stored procedure make some select, insert andupdate. If you need more explanation, i can give it to you. <br /><br /> Java 6 <br /> postgresql-9.0-801.jdbc3.jar <br/> PostgreSQL 8.2.5 on powerpc-apple-darwin8.8.0, compiled by GCC powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer,Inc. build 5363) <br /><br /> Is it a memory leak ? Or my java code is wrong ? <br /><br /> *Pierre LE MOUËLLIC<br /> * <br /> _pierre.lemouellic@xgs-france.com_ <a class="moz-txt-link-rfc2396E" href="mailto:pierre.lemouellic@xgs-france.com"><mailto:pierre.lemouellic@xgs-france.com></a><br/> __ <a class="moz-txt-link-rfc2396E" href="mailto:pierre.lemouellic@xgs-france.com"><mailto:pierre.lemouellic@xgs-france.com></a><br/></blockquote><br /><br/></blockquote>
В списке pgsql-jdbc по дате отправления: