[rules-users] Get rid of finalize() in KnowledgeSession

Lubos lpechac at pi-ag.com
Wed Apr 4 03:08:38 EDT 2012


Hi,

My application uses many threads, each one creates KnowledgeSession from a
common shared KnowledgeBase to perform a task. The task is fast and at the
end session is disposed. When the thread starts to perform next task it
creates new session.
We had a scalability issues because of garbage collection. It happened too
often and took too long so we could not benefit from adding more CPUs. No GC
tuning helped.
After analysis I commented out finalize() method, which only calls
dispose(), which I call anyway after I'm done with the session. That was the
only change, i didn't modify application or JVM settings. Now the
application scales very well and all garbage collections are lighting fast.
After this experience I'm sure I will comment out finalize() in every drools
release I will use in the future, but maybe you could consider removing it
in the official release?

Lubos

--
View this message in context: http://drools.46999.n3.nabble.com/Get-rid-of-finalize-in-KnowledgeSession-tp3883370p3883370.html
Sent from the Drools: User forum mailing list archive at Nabble.com.



More information about the rules-users mailing list