Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-2928

Open file leak in Drools Compiler

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • None
    • 5.1.0.FINAL
    • drools-compiler
    • None

    Description

      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?

      Attachments

        Activity

          People

            mproctor@redhat.com Mark Proctor
            chrisselwyn Chris Selwyn (Inactive)
            Archiver:
            rhn-support-ceverson Clark Everson

            Dates

              Created:
              Updated:
              Resolved:
              Archived:

              PagerDuty