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); }