[rules-users] impossible to dispose tomcat devloader when i reload context (drools keep reference)...
Emmanuel GREFFET (France)
greffet.e at mipih.fr
Fri Jul 31 05:03:59 EDT 2009
Hello.
More information about my problem.
This is a relative link about the memory leak with Drools and Tomcat :
http://opensource.atlassian.com/confluence/spring/pages/viewpage.action?pageId=2669
And we identified this problem on the following method :
/**
* Chargement des règles dans la rulebase.
*
* @param drlReader
* @param dslReader
*/
Package readRules(URL drlUrl)
{
try
{
// use package builder to build up a rule package.
PackageBuilder builder = new PackageBuilder();
URLConnection drlConn = drlUrl.openConnection();
Reader drlReader = new InputStreamReader(drlConn.getInputStream(),
ENCODING);
if (this.dsl == null)
{
builder.addPackageFromDrl(drlReader);
}
else
{
URLConnection dslConn = this.dsl.openConnection();
Reader dslReader = new InputStreamReader(dslConn.getInputStream());
builder.addPackageFromDrl(drlReader, dslReader);
dslReader.close();
}
drlReader.close();
// get the compiled package
return builder.getPackage();
}
catch (Exception e)
{
throw new RuleEngineException("Le package de règles est invalide
!\r\n\r\nFichier : "
+ drlUrl, e);
}
}
So, today, i'm looking for a solution to resolve this problem without
stopping tomcat.....
There is a solution with drools to release these allocations to the
classloader in the WebApp ?
And about drools programmers, please, have you any resolution to help me a
little ....
Thanks.
Emmanuel GREFFET. (France)
Emmanuel GREFFET (France) wrote:
>
> Hello..... nobody has really had this problem?
> Thanks
> EG
>
>
>
> Emmanuel GREFFET (France) wrote:
>>
>> Hello
>> I'm Emmanuel from France. (sorry for my English)
>> We use drools 4.0.7 in a hospital application.
>> We load drools and our programs (services) with tomcat Devloader (5.5.9)
>> We use drools in statefullsession (retract and insert facts by rules in a
>> ruleFlow).
>> everything is perfect for us, except a little problem of "dispose" with
>> tomcat due to drools.
>> Through the Tomcat console when we try to restart our webapp, tomcat
>> can't dispose the old Devloader
>> (in Eclipse we can see that many drools class use class attribute
>> ClassLoader without any dispose ???)
>> In production, we used different webapps in a Tomcat, so we can't easely
>> stop Tomcat, so until we stop tomcat, the reload of the webapps is longer
>> and longer ... (many devloader(s) can't dispose)...
>> anyone has had this problem ?
>>
>> Thank you.
>> Emmanuel
>>
>>
>
>
--
View this message in context: http://www.nabble.com/impossible-to-dispose-tomcat-devloader-when-i-reload-context-%28drools-keep-reference%29...-tp23312051p24753313.html
Sent from the drools - user mailing list archive at Nabble.com.
More information about the rules-users
mailing list