[rules-users] Open file leak in Drools Compiler

Mark Proctor mproctor at codehaus.org
Thu Mar 17 06:43:33 EDT 2011


On 16/03/2011 16:49, Chris Selwyn wrote:
> I am running Drools (actually JBoss Rules 5.1.0 ) in Glassfish.
I'm pretty sure that there was a jira for this and I fixed it - take a 
look at 5.2M1.

The code is from the jci project, which we inlined.

Mark
> 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