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...
Sent from the Drools: User forum mailing list archive at
Nabble.com.