You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2016/02/18 17:46:15 UTC

[3/7] tomee git commit: Try a full logging reset after undeploy

Try a full logging reset after undeploy


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/36e25f79
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/36e25f79
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/36e25f79

Branch: refs/heads/tomee-1.7.x
Commit: 36e25f79f94e34784e56445b656b4f42d1f9081b
Parents: c1c1f7c
Author: AndyGee <an...@gmx.de>
Authored: Thu Feb 11 14:29:07 2016 +0100
Committer: AndyGee <an...@gmx.de>
Committed: Thu Feb 11 14:29:07 2016 +0100

----------------------------------------------------------------------
 .../apache/openejb/assembler/classic/Assembler.java  |  9 +++++----
 .../apache/openejb/util/JuliLogStreamFactory.java    | 15 ++++++++-------
 .../main/java/org/apache/openejb/util/Logger.java    | 12 +++++++++++-
 3 files changed, 24 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/36e25f79/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
index 6357d94..98b9194 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
@@ -1701,7 +1701,7 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
                 removeResourceInfo(boundName);
                 try {
                     containerSystem.getJNDIContext().unbind(boundName);
-                } catch (NamingException e) {
+                } catch (final NamingException e) {
                     logger.error("Error unbinding " + boundName, e);
                 }
             } else {
@@ -2186,7 +2186,8 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
                 throw undeployException;
             }
 
-            this.resetSlf4j();
+            Assembler.resetSlf4j(logger);
+            Logger.configure(true);
 
             logger.debug("destroyApplication.success", appInfo.path);
         } finally {
@@ -2194,7 +2195,7 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
         }
     }
 
-    private void resetSlf4j() {
+    private static void resetSlf4j(final Logger logger) {
 
         final Method m = Assembler.SLF4J_RESET.get();
 
@@ -2216,7 +2217,7 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
         
         try {
             object = globalContext.lookup(name);
-        } catch (NamingException e) {
+        } catch (final NamingException e) {
             // if we catch a NamingException, check to see if the resource is a LaztObjectReference that has not been initialized correctly
             final String ctx = name.substring(0, name.lastIndexOf("/"));
             final String objName = name.substring(ctx.length() + 1);

http://git-wip-us.apache.org/repos/asf/tomee/blob/36e25f79/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java b/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
index 5d3f5b0..ae8276a 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
@@ -37,14 +37,10 @@ import java.util.logging.Logger;
 public class JuliLogStreamFactory implements LogStreamFactory {
     public static final String OPENEJB_LOG_COLOR_PROP = "openejb.log.color";
 
-    private static String consoleHandlerClazz;
-    private static boolean useOpenEJBHandler;
+    private static volatile String consoleHandlerClazz;
+    private static volatile boolean useOpenEJBHandler;
 
-    public LogStream createLogStream(final LogCategory logCategory) {
-        return new JuliLogStream(logCategory);
-    }
-
-    static {
+    public JuliLogStreamFactory() {
         final boolean tomee = is("org.apache.tomee.catalina.TomcatLoader");
         final boolean embedded = is("org.apache.tomee.embedded.Container");
 
@@ -101,6 +97,11 @@ public class JuliLogStreamFactory implements LogStreamFactory {
         }
     }
 
+    @Override
+    public LogStream createLogStream(final LogCategory logCategory) {
+        return new JuliLogStream(logCategory);
+    }
+
     private static void setRootLogger(final OpenEJBLogManager value) {
         try { // if we don't do it - which is done in static part of the LogManager - we couldn't log user info when force-reload is to true
             final Class<?> rootLoggerClass = ClassLoader.getSystemClassLoader().loadClass("java.util.logging.LogManager$RootLogger");

http://git-wip-us.apache.org/repos/asf/tomee/blob/36e25f79/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java b/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
index 4a3886f..2e01b65 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
@@ -33,7 +33,7 @@ import java.util.ResourceBundle;
 public class Logger {
     private static final String SUFFIX = ".Messages";
     private static final String OPENEJB = "org.apache.openejb";
-    private static LogStreamFactory logStreamFactory;
+    private static volatile LogStreamFactory logStreamFactory;
 
     // don't return the instance since it needs to stay private but export which one is used to allow integration with other libs (as tomcat ;))
     @SuppressWarnings("UnusedDeclaration")
@@ -45,10 +45,20 @@ public class Logger {
     }
 
     public static synchronized void configure() {
+        configure(false);
+    }
+
+    public static synchronized void configure(final boolean reset) {
+
+        if(reset){
+            logStreamFactory = null;
+        }
+
         configure(System.getProperties());
     }
 
     public static synchronized void configure(final Properties config) {
+
         if (logStreamFactory != null) {
             return;
         }