| From: | Guillaume Cottenceau <gc(at)mnc(dot)ch> | 
|---|---|
| To: | Clifton Zama <csz(at)jhb(dot)ucs(dot)co(dot)za> | 
| Cc: | pgsql-jdbc(at)postgresql(dot)org | 
| Subject: | Re: java connection closing itself | 
| Date: | 2005-04-12 10:54:23 | 
| Message-ID: | 87aco4b6zk.fsf@meuh.mnc.ch | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-jdbc | 
Clifton Zama <csz 'at' jhb.ucs.co.za> writes:
> Hi
> 
> What would cause a connection to automatically close within a
> java program.It gets to a point where I have an inner loop that
> calls a recursive method that creates resultsets.But I am
> closing all my result sets, so I do not know why the connection
> simply closes itself.Please help.
There is a "bug" in which the DB driver tells you that the
connection is closed, although it isn't really closed, in
situations where the data is not available anymore.
Such a situation occurs when a ResultSet has been closed but you
are still trying to extract data from it. A ResultSet can be
closed by calling its close method, but also implicitely when the
Statement object that generated it is closed, re-executed, or is
used to retrieve the next result from a sequence of multiple
results.
http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html#close()
To make it short: if you're nesting multiple #executeQuery() on a
single Statement object, you're going to have this problem if
your loop goes down the nesting and does subsequent accesses to
the ResultSet.
-- 
Guillaume Cottenceau
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Glenn Holmer | 2005-04-12 17:05:30 | Re: smallint vs. boolean (was invalid string enlargement | 
| Previous Message | Joost Kraaijeveld | 2005-04-11 20:32:42 | JBoss, PostgreSQL and XDoclets question |