db-ojb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mahler Thomas \(ITELLIUM\)" <thomas.mah...@itellium.com>
Subject WG: OJB 1.0.3 - Class PersistenceBrokerAbstractImpl - array temporaryStateListeners
Date Mon, 25 Jul 2005 11:38:35 GMT


-----Urspr√ľngliche Nachricht-----
Von: Henri Hennebert [mailto:hlh@ciger.be]
Gesendet: Montag, 25. Juli 2005 10:19
An: thma@apache.org
Betreff: OJB 1.0.3 - Class PersistenceBrokerAbstractImpl - array
temporaryStateListeners


Hello,

In an application using ojb 1.0.3 to access a postgresql database, I get
awful performances after 30000 iterations in the main loop.
During each iteration, the same PersistenceBroker is user roughly 10 
times to access tables in the database.

I trace the problem to the array temporaryStateListeners getting really
huge ( more than 300000 entries). This array is populated by the 
creation of org.apache.ojb.broker.accesslayer.RsIterator which register 
itself with PersistenceBrokerAbstractImpl.addListener() and never call 
removeListener().

In PersistenceBrokerAbstractImpl, there is permanent and temporary 
listeners; maybe the temporary listeners must be deleted at the end of 
fireBrokerEvent() or something like that? By the way, why permanent and 
temporary ?

Anyway, I use `brute force' by calling removeAllListeners() after every 
1000 iterations. And now, performances are back to normal.

Thank you for your time,

Henri

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org


Mime
View raw message