Isn't it regarded as bad practice to rely on the finalize() method
called by the garbage collector to release such resources?
Chris
On 16/03/2011 17:04, Greg Barton wrote:
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
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
-----
No virus found in this message.
Checked by AVG -
www.avg.com
Version: 10.0.1204 / Virus Database: 1498/3509 - Release Date: 03/15/11