Only if garbage collection never runs. Then you'd already be in trouble. :)
--- On Wed, 3/16/11, Chris Selwyn <chris(a)selwyn-family.me.uk> wrote:
From: Chris Selwyn <chris(a)selwyn-family.me.uk>
Subject: [rules-users] Open file leak in Drools Compiler
To: "Drools users" <rules-users(a)lists.jboss.org>
Date: Wednesday, March 16, 2011, 11:49 AM
I am running Drools (actually JBoss
Rules 5.1.0 ) in Glassfish.
My deployable is an EJB that uses a
StatelessKnowledgeSession to run
some rules that I get from a KnowledgeAgent that has a
Changeset with a
.drl in it.
Therefore, I have placed the drools compiler into the
deployable and it
all appears to work.
Glassfish has a clever little mechanism that, when you
unload a
deployable that had some open streams, it tells you all
about it (and
kindly closes them).
Glassfish is reporting that InputStreams are being left
open that were
opened in the isPackage() method of
org.drools.commons.jci.compilers.EclipseJavaCompiler.
That method has the following code in it:-
final InputStream is =
pClassLoader.getResourceAsStream(ClassUtils.convertClassToResourcePath(pClazzName));
if (is != null) {
return false;
}
So, when "is" is not null (i.e. open), it is forgotten
about and not closed.
Isn't this a potential file handle leak?
Chris Selwyn
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users