From: | Mikko Tiihonen <mikko(dot)tiihonen(at)nitorcreations(dot)com> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Memory leak ? |
Date: | 2011-04-06 10:30:18 |
Message-ID: | 4D9C40BA.3080606@nitorcreations.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On 06/04/11 13:11, Pierre Le Mouëllic wrote:
> With this code :
>
> public class TestJDBC {
>
> private static Timer timer;
>
> private static Connection connDB;
> private static PreparedStatement sQLStatement;
>
> public static void main(String[] args) throws SQLException, ClassNotFoundException {
>
> connexion("jdbc:postgresql://praslin.qual.dc1:5432/G01DPM","postgres8","password");
>
> timer = new Timer();
> timer.schedule(new local_task(), 1000L, 1000);
> }
>
> static class local_task extends TimerTask {
>
> public void run() {
> ResultSet rs=null;
> try {
> sQLStatement.setInt(1, 2602);
> rs = sQLStatement.executeQuery();
Missing
rs.close();
> sQLStatement.setInt(1, 2604);
> rs = sQLStatement.executeQuery();
Missing
rs.close();
> sQLStatement.setInt(1, 2605);
> rs = sQLStatement.executeQuery();
> } catch (SQLException e) {
> }
> finally{
>
> try {
> if(rs!=null)
> rs.close();
> } catch (SQLException e) {
> }
>
> rollBack();
> }
> }
> }
>
> public static void connexion(String chemin, String user, String password) throws SQLException, ClassNotFoundException
> {
> Class.forName("org.postgresql.Driver");
> String url = chemin+"?user="+user+"&password="+password;
>
> // Connexion
> connDB = DriverManager.getConnection(url);
> connDB.setAutoCommit(false);
> initPreparedStatement();
> }
>
> private static void initPreparedStatement() throws SQLException
> {
> sQLStatement = connDB.prepareStatement("select f_transite(?,'FPL','225',9,'test','','')");
> }
>
> public static void rollBack()
> {
>
> try
> {
> connDB.rollback();
> }
> catch(SQLException ex)
> {
> }
> }
> }
>
> In eclipse Helios profiler, Jdbc3ResultSet live instances increase (and never decrease). Same thing with
> org.postgresql.core.v3.QueryExecutorImpl$ErrorTrackingResultHandler and org.postgresql.core.v3.QueryExecutorImpl$1 classes.
>
> f_transite stored procedure make some select, insert and update. If you need more explanation, i can give it to you.
>
> Java 6
> postgresql-9.0-801.jdbc3.jar
> 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)
>
> Is it a memory leak ? Or my java code is wrong ?
>
> *Pierre LE MOUËLLIC
> *
> _pierre(dot)lemouellic(at)xgs-france(dot)com_ <mailto:pierre(dot)lemouellic(at)xgs-france(dot)com>
> __ <mailto:pierre(dot)lemouellic(at)xgs-france(dot)com>
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2011-04-06 10:47:56 | Re: Memory leak ? |
Previous Message | Pierre Le Mouëllic | 2011-04-06 10:18:41 | Memory leak ? |