I ran a profiler on a test ejb that in a loop call Datasource.getConnection
after each getConnection I closed it.
for 100 getConnections the garbage collector threw 13,000 allocated in WrappedDataSource.getConnection (I don't have more stack information :-( )
for 1000 getConnections the garbage collector threw 450,000 allocated in WrappedDataSource.getConnection
the database is MySQL and configured with pool size of min=max=100
all the getConnections are in the same transaction and JBoss succeeded to understand this fact and return a previously acquired ConnectionListener yet the amount of memory consumption is huge and its escalating
The JBoss version is 4.0.1 with Java 5
The machine used was a P4 3.4Ghz with 1G DDR2 533
It seems that for a pooled connection . the memory consumption during the process of getting the connection is way to high
I am in the process of trying to figure out what is the cause such a behavior if someone already understand what can lead to this consumption please let me know and save me the time.
If I will figure out what cause it I'll post my finding here