I have a few questions on this one...
The thing is that I'll be using Informix as a database for a project I'm working on and something like this would be a complete show stopper :oS
The questions I have are the following:
1) Is there any chance that this is no longer an issue in JBoss 3.2.1 (that's the version we'll be using)?
2) Is it likely that this problem is associated with the driver itself? If so, what are the alternatives?
3) How did you go about measuring the memory usage of each connection? If we don't get answers to the above questions we'll have to be extra careful to monitor this behavior so we can catch it in time and take appropriate actions.
Thanks in advance,
Haven't really used Informix, but these came up in the IBM notes last year to developers, that this driver release fixes:
Release Notes for IBM Informix JDBC Driver 2.21.JC3, 06/15/2002
Bug # 155670
MEMORY LEAK WHEN USING JNDI, CONNECTION POOLING
Since IBM acquired Informix, maybe they can wean you onto DB2. ;) Seriously, I'd check for IBM release notes and current drivers.
I face the same problem of accumulating memory in connection to informix. So I download the informix jdbc driver 2.21.JC4 from IBM but the problem still exists.
Does anyone have the solution for this?
I had same problem with Jboss 3.0.7 and Informix JDBC 2.21 JC2.
Looking with "onstat -g ses" I saw my sessions growing in memory for more than 50Mb each one.
According to the Informix JDBC doc (See attach file)
we add the ResultSet.close() and Statement.close() methods when finished processing the results of an SQL statement.
Now our informix sessions stay about 50Kb
Thank you very much for the information. I will try your suggestion and will post the result back. I think it the problem might come from the PreparedStatement itself because I think that closing the ResultSet will be automatically deacllocate the resource. But the attached document not said so.