[rules-users] Open file leak in Drools Compiler
Greg Barton
greg_barton at yahoo.com
Wed Mar 16 13:04:55 EDT 2011
Only if garbage collection never runs. Then you'd already be in trouble. :)
--- On Wed, 3/16/11, Chris Selwyn <chris at selwyn-family.me.uk> wrote:
> From: Chris Selwyn <chris at selwyn-family.me.uk>
> Subject: [rules-users] Open file leak in Drools Compiler
> To: "Drools users" <rules-users at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
More information about the rules-users
mailing list