[
https://jira.jboss.org/jira/browse/JBRULES-2266?page=com.atlassian.jira.p...
]
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?p...
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