[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