Hide Forgot
Help Desk Ticket Reference: https://c.na7.visual.force.com/apex/Case_View?id=500A0000007AQwS&sfdc.override=1 securitylevel_name: Public Need fix for JBRULES-2928 in BRMS : 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?
Link: Added: This issue Cloned from JBRULES-2928
Link: Added: This issue Cloned to SOA-3081
Please provide Cause, Consequence, Fix, and Result[1] for the release notes. [1]https://bugzilla.redhat.com/page.cgi?id=fields.html#cf_release_notes
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: <remark>Needinfo</remark>
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -<remark>Needinfo</remark>+<remark>Needinfo</remark></para><para>When input streams were opened by the isPackage() method of in the org.drools.commons.jci.compilers.EclipseJavaCompiler class some input streams were not being closed.
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -<remark>Needinfo</remark></para><para>When input streams were opened by the isPackage() method of in the org.drools.commons.jci.compilers.EclipseJavaCompiler class some input streams were not being closed.+<remark>Needinfo From MattD: please state how this issue was resolved.</remark></para><para>When input streams were opened by the isPackage() method of in the org.drools.commons.jci.compilers.EclipseJavaCompiler class some input streams were not being closed.
Sorry for the constant updates - part of the release notes process is being automated and this is the lucky bug I'm testing with.
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -<remark>Needinfo From MattD: please state how this issue was resolved.</remark></para><para>When input streams were opened by the isPackage() method of in the org.drools.commons.jci.compilers.EclipseJavaCompiler class some input streams were not being closed.+<remark>Needinfo From MattD: please state how this issue was resolved.</remark></para><para>When input streams were opened by the isPackage() method in the org.drools.commons.jci.compilers.EclipseJavaCompiler class some input streams were not being closed.