The thing is that it is not my webapp that creates the 
RuleBaseConfiguration and the RuleBase, it is another component that is 
loaded by the application server, and the rules are shared between 
webapps. So I cannot dispose of these objects. This other component loads 
lazily the RuleBase on first call, that is why when the 
RuleBaseConfiguration is instantiated, the context class loader is the one 
of my webapp.

The only workaround I found is to hook a listener when my webapp is 
deployed, temporarily change the context class loader of the current 
Thread, force the load of the RuleBase.
That way the CompositeClassLoader does not have a reference to the class 
loader of my webapp.
But that is quite ugly...

I will see with the developers of this other component if migrating to 6.x 
is a possibility, but I doubt it in the near future.

Thanks anyway for the suggestions.
Romain




From:   Davide Sottara <dso...@gmail.com>
To:     rules-users@lists.jboss.org, 
Date:   03/04/2014 00:29
Subject:        Re: [rules-users] Memory leak due CompositeClassLoader
Sent by:        rules-users-boun...@lists.jboss.org



You may have to dispose the sessions explicitly - or even the 
knowledgebase,
using the internal method that was added as a temporary "brute force" 
patch
to leaks in 5.6.
The composite classloader was replaced in 6.x, so the newer versions 
should
not have this kind of problems.
Best
Davide



--
View this message in context: 
http://drools.46999.n3.nabble.com/rules-users-Memory-leak-due-CompositeClassLoader-tp4029053p4029100.html

Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to