[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