You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2017/06/24 02:36:54 UTC

logging-log4j2 git commit: [LOG4J2-1953] JndiManager is not released when the JmsAppender builder catches an exception trying to build itself.

Repository: logging-log4j2
Updated Branches:
  refs/heads/master 8d0b7bd06 -> 01cf5b000


[LOG4J2-1953] JndiManager is not released when the JmsAppender builder
catches an exception trying to build itself.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/01cf5b00
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/01cf5b00
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/01cf5b00

Branch: refs/heads/master
Commit: 01cf5b000fe83b5b29217589aa648b7d5ef00427
Parents: 8d0b7bd
Author: Gary Gregory <gg...@apache.org>
Authored: Fri Jun 23 19:36:52 2017 -0700
Committer: Gary Gregory <gg...@apache.org>
Committed: Fri Jun 23 19:36:52 2017 -0700

----------------------------------------------------------------------
 .../logging/log4j/core/appender/mom/JmsAppender.java    | 12 ++++++++----
 src/changes/changes.xml                                 |  3 +++
 2 files changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/01cf5b00/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java
index b91744e..e738b16 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java
@@ -217,16 +217,20 @@ public class JmsAppender extends AbstractAppender {
         @Override
         public JmsAppender build() {
             JmsManager actualJmsManager = jmsManager;
+            JndiManager jndiManager = null;
             if (actualJmsManager == null) {
-            final JndiManager jndiManager = JndiManager.getJndiManager(factoryName, providerUrl, urlPkgPrefixes,
-                securityPrincipalName, securityCredentials, null);
-            actualJmsManager = JmsManager.getJmsManager(name, jndiManager, factoryBindingName,
-                destinationBindingName, userName, password);
+                jndiManager = JndiManager.getJndiManager(factoryName, providerUrl, urlPkgPrefixes,
+                        securityPrincipalName, securityCredentials, null);
+                actualJmsManager = JmsManager.getJmsManager(name, jndiManager, factoryBindingName,
+                        destinationBindingName, userName, password);
             }
             try {
                 return new JmsAppender(name, filter, layout, ignoreExceptions, actualJmsManager);
             } catch (final JMSException e) {
                 LOGGER.error("Error creating JmsAppender [{}].", name, e);
+                if (jndiManager != null) {
+                    jndiManager.stop(500, TimeUnit.MILLISECONDS);
+                }
                 return null;
             }
         }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/01cf5b00/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 2f072c1..15e469d 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -43,6 +43,9 @@
       <action issue="LOG4J2-1943" dev="rgoers" type="fix">
         The eventPrefix attribute was being ignored in the RFC5424Layout.
       </action>
+      <action issue="LOG4J2-1953" dev="ggregory" type="fix">
+        JndiManager is not released when the JmsAppender builder catches an exception trying to build itself.
+      </action>
       <action issue="LOG4J2-1911" dev="rgoers" type="fix">
         Improve the documentation of the DynamicThresholdFilter.
       </action>