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 2013/11/18 08:49:41 UTC

svn commit: r1542943 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java

Author: rmannibucau
Date: Mon Nov 18 07:49:41 2013
New Revision: 1542943

URL: http://svn.apache.org/r1542943
Log:
TOMEE-1075 don't use SystemInstance too eagerly in PersistenceBootstrap + runWarmup only after SystemInstance init

Modified:
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java
    tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java?rev=1542943&r1=1542942&r2=1542943&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java Mon Nov 18 07:49:41 2013
@@ -96,7 +96,7 @@ public class PersistenceBootstrap {
             final Collection<String> pXmlNames = new ArrayList<String>();
 
             // altdd logic duplicated to avoid classloading issue in tomee-webapp mode
-            final String altDD = SystemInstance.get().getOptions().get("openejb.altdd.prefix", (String) null);
+            final String altDD = getAltDD();
             if (altDD != null) {
                 for (final String p : altDD.split(",")) {
                     pXmlNames.add(p + ".persistence.xml");
@@ -213,6 +213,15 @@ public class PersistenceBootstrap {
         }
     }
 
+    // don't force eager init
+    private static String getAltDD() {
+        final String property = "openejb.altdd.prefix";
+        if (SystemInstance.isInitialized()) {
+            return SystemInstance.get().getOptions().get(property, (String) null);
+        }
+        return System.getProperty(property);
+    }
+
     private static void debug(String x) {
         if (debug) System.out.println("[PersistenceBootstrap] " + x);
     }

Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java?rev=1542943&r1=1542942&r2=1542943&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java Mon Nov 18 07:49:41 2013
@@ -93,11 +93,6 @@ import java.util.Set;
  * @version $Revision: 617255 $ $Date: 2008-01-31 13:58:36 -0800 (Thu, 31 Jan 2008) $
  */
 public class TomcatLoader implements Loader {
-
-    static {
-        Warmup.warmup();
-    }
-
     private static final Logger logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP, TomcatLoader.class);
     public static final String TOMEE_NOSHUTDOWNHOOK_PROP = "tomee.noshutdownhook";
 
@@ -115,12 +110,6 @@ public class TomcatLoader implements Loa
     private static final List<ServerService> services = new ArrayList<ServerService> ();
 
     /**
-     * Creates a new instance.
-     */
-    public TomcatLoader() {
-    }
-
-    /**
      *  {@inheritDoc}
      */
     public void init(Properties properties) throws Exception {
@@ -131,6 +120,9 @@ public class TomcatLoader implements Loa
         // Loader maybe the first thing executed in a new classloader
         // so we must attempt to initialize the system instance.
         SystemInstance.init(properties);
+
+        Warmup.warmup(); // better than static (we are sure we don't hit it too eagerly) and doesn't cost more since uses static block
+
         initialize(properties);
     }