You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/10/06 13:01:01 UTC

svn commit: r1629615 - in /tomee/tomee/branches/tomee-1.7.x: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/cdi/ container/openejb-core/src/main/java/org/apache/openejb...

Author: rmannibucau
Date: Mon Oct  6 11:01:01 2014
New Revision: 1629615

URL: http://svn.apache.org/r1629615
Log:
don't init logger too early

Modified:
    tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
    tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
    tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
    tomee/tomee/branches/tomee-1.7.x/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java

Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1629615&r1=1629614&r2=1629615&view=diff
==============================================================================
--- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original)
+++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Mon Oct  6 11:01:01 2014
@@ -217,7 +217,7 @@ public class Assembler extends Assembler
     }
 
     public static final String OPENEJB_URL_PKG_PREFIX = IvmContext.class.getPackage().getName();
-    public static final Logger logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP, Assembler.class);
+    public final Logger logger;
     public static final String OPENEJB_JPA_DEPLOY_TIME_ENHANCEMENT_PROP = "openejb.jpa.deploy-time-enhancement";
     public static final String PROPAGATE_APPLICATION_EXCEPTIONS = "openejb.propagate.application-exceptions";
     private static final String GLOBAL_UNIQUE_ID = "global";
@@ -289,6 +289,7 @@ public class Assembler extends Assembler
     }
 
     public Assembler(final JndiFactory jndiFactory) {
+        logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP, Assembler.class);
         skipLoaderIfPossible = "true".equalsIgnoreCase(SystemInstance.get().getProperty("openejb.classloader.skip-app-loader-if-possible", "true"));
         persistenceClassLoaderHandler = new PersistenceClassLoaderHandlerImpl();
 
@@ -1147,7 +1148,7 @@ public class Assembler extends Assembler
         return ejbs;
     }
 
-    private static TimerStore newTimerStore(final BeanContext beanContext) {
+    private TimerStore newTimerStore(final BeanContext beanContext) {
         for (final DeploymentContext context : Arrays.asList(beanContext, beanContext.getModuleContext(), beanContext.getModuleContext().getAppContext())) {
             final String timerStoreClass = context.getProperties().getProperty(TIMER_STORE_CLASS);
             if (timerStoreClass != null) {
@@ -1493,7 +1494,7 @@ public class Assembler extends Assembler
         return resources;
     }
 
-    private static void destroyResource(final String name, final String className, final Object object) {
+    private void destroyResource(final String name, final String className, final Object object) {
         if (object instanceof ResourceAdapter) {
             final ResourceAdapter resourceAdapter = (ResourceAdapter) object;
             try {
@@ -2664,6 +2665,7 @@ public class Assembler extends Assembler
     }
 
     private static void logUnusedProperties(final Map<String, Object> unsetProperties, final ServiceInfo info) {
+        Logger logger = null;
         for (final String property : unsetProperties.keySet()) {
             //TODO: DMB: Make more robust later
             if (property.equalsIgnoreCase("Definition")) {
@@ -2703,6 +2705,9 @@ public class Assembler extends Assembler
                 continue; // inline service (no sp)
             }
 
+            if (logger == null) {
+                logger = SystemInstance.get().getComponent(Assembler.class).logger;
+            }
             logger.getChildLogger("service").warning("unusedProperty", property, info.id);
         }
     }
@@ -2779,7 +2784,7 @@ public class Assembler extends Assembler
                     transformers.add(classFileTransformer);
                 }
             } else if (!logged.getAndSet(true)) {
-                logger.warning("assembler.noAgent");
+                SystemInstance.get().getComponent(Assembler.class).logger.warning("assembler.noAgent");
             }
         }
 
@@ -2793,7 +2798,7 @@ public class Assembler extends Assembler
                         instrumentation.removeTransformer(transformer);
                     }
                 } else {
-                    logger.error("assembler.noAgent");
+                    SystemInstance.get().getComponent(Assembler.class).logger.error("assembler.noAgent");
                 }
             }
         }

Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java?rev=1629615&r1=1629614&r2=1629615&view=diff
==============================================================================
--- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java (original)
+++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java Mon Oct  6 11:01:01 2014
@@ -22,6 +22,7 @@ import org.apache.openejb.BeanContext;
 import org.apache.openejb.OpenEJBRuntimeException;
 import org.apache.openejb.assembler.classic.AppInfo;
 import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 import org.apache.webbeans.config.BeansDeployer;
@@ -193,7 +194,7 @@ public class OpenEJBLifecycle implements
                 //Deploy bean from XML. Also configures deployments, interceptors, decorators.
                 deployer.deploy(scannerService);
             } catch (final Exception e1) {
-                Assembler.logger.error("CDI Beans module deployment failed", e1);
+                SystemInstance.get().getComponent(Assembler.class).logger.error("CDI Beans module deployment failed", e1);
                 throw new OpenEJBRuntimeException(e1);
             } finally {
                 CURRENT_APP_INFO.remove();

Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?rev=1629615&r1=1629614&r2=1629615&view=diff
==============================================================================
--- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java (original)
+++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Mon Oct  6 11:01:01 2014
@@ -33,12 +33,9 @@ import java.util.ResourceBundle;
 public class Logger {
     private static final String SUFFIX = ".Messages";
     private static final String OPENEJB = "org.apache.openejb";
+    private static final Properties EMPTY_PROPS = new Properties();
     private static LogStreamFactory logStreamFactory;
 
-    static {
-        configure();
-    }
-
     // 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")
     public static String delegateClass() {
@@ -49,16 +46,22 @@ public class Logger {
     }
 
     public static synchronized void configure() {
+        configure(EMPTY_PROPS);
+    }
+
+    public static synchronized void configure(final Properties config) {
         if (logStreamFactory != null) {
             return;
         }
 
         //See if user factory has been specified
-        String factoryName = SystemInstance.get().getOptions().get("openejb.log.factory", JuliLogStreamFactory.class.getName());
+        final String julFqn = JuliLogStreamFactory.class.getName();
+        String factoryName = config.getProperty("openejb.log.factory",
+                SystemInstance.isInitialized() ?  SystemInstance.get().getOptions().get("openejb.log.factory", julFqn) : julFqn);
 
         if ("jul".equalsIgnoreCase(factoryName) || "juli".equalsIgnoreCase(factoryName)) {
 
-            factoryName = JuliLogStreamFactory.class.getName();
+            factoryName = julFqn;
 
         } else if ("slf4j".equalsIgnoreCase(factoryName)) {
 
@@ -255,6 +258,8 @@ public class Logger {
      * @return Logger
      */
     public static Logger getInstance(final LogCategory category, final String baseName) {
+        configure();
+
         try {
             return loggerCache.compute(new Object[]{category, baseName});
         } catch (final InterruptedException e) {

Modified: tomee/tomee/branches/tomee-1.7.x/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java?rev=1629615&r1=1629614&r2=1629615&view=diff
==============================================================================
--- tomee/tomee/branches/tomee-1.7.x/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java (original)
+++ tomee/tomee/branches/tomee-1.7.x/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java Mon Oct  6 11:01:01 2014
@@ -150,7 +150,12 @@ public class Container implements Closea
             setup(configuration);
         }
 
-        Logger.configure();
+        final Properties props = configuration.getProperties();
+        if (props != null) {
+            Logger.configure(configuration.getProperties());
+        } else {
+            Logger.configure();
+        }
 
         final File conf = new File(base, "conf");
         final File webapps = new File(base, "webapps");
@@ -171,7 +176,6 @@ public class Container implements Closea
         } else {
             copyFileTo(conf, "server.xml");
         }
-        final Properties props = configuration.getProperties();
         if (props != null && !props.isEmpty()) {
             final FileWriter systemProperties = new FileWriter(new File(conf, "system.properties"));
             try {