[jboss-jira] [JBoss JIRA] Commented: (JBRULES-2266) Memory leaks where the classloader cannot be garbage collected / impossible to dispose tomcat devloader when i reload context (drools keep reference)...

GREFFET Emmanuel (JIRA) jira-events at lists.jboss.org
Thu Sep 3 11:27:23 EDT 2009


    [ https://jira.jboss.org/jira/browse/JBRULES-2266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12484383#action_12484383 ] 

GREFFET Emmanuel commented on JBRULES-2266:
-------------------------------------------

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 ?

> Memory leaks where the classloader cannot be garbage collected / impossible to dispose tomcat devloader when i reload context (drools keep reference)...
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBRULES-2266
>                 URL: https://jira.jboss.org/jira/browse/JBRULES-2266
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: All
>    Affects Versions: 4.0.7
>         Environment: XP SP2    2Mo     Tomcat 5.5.9 /  drools 4.0.7 
>            Reporter: GREFFET Emmanuel
>            Assignee: Mark Proctor
>            Priority: Critical
>
> (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 
> easily 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 ?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       




More information about the jboss-jira mailing list