You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by gp...@apache.org on 2014/03/03 14:47:56 UTC
svn commit: r1573562 -
/openwebbeans/branches/owb_1.2.x/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
Author: gpetracek
Date: Mon Mar 3 13:47:56 2014
New Revision: 1573562
URL: http://svn.apache.org/r1573562
Log:
OWB-937 unified startup detection
Modified:
openwebbeans/branches/owb_1.2.x/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
Modified: openwebbeans/branches/owb_1.2.x/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
URL: http://svn.apache.org/viewvc/openwebbeans/branches/owb_1.2.x/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java?rev=1573562&r1=1573561&r2=1573562&view=diff
==============================================================================
--- openwebbeans/branches/owb_1.2.x/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java (original)
+++ openwebbeans/branches/owb_1.2.x/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java Mon Mar 3 13:47:56 2014
@@ -19,6 +19,7 @@
package org.apache.webbeans.lifecycle;
import java.util.Properties;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -42,6 +43,8 @@ import org.apache.webbeans.xml.WebBeansX
public abstract class AbstractLifeCycle implements ContainerLifecycle
{
+ protected AtomicBoolean started = new AtomicBoolean(false);
+
//Logger instance
protected Logger logger;
@@ -101,6 +104,16 @@ public abstract class AbstractLifeCycle
@Override
public void startApplication(Object startupObject)
{
+ bootstrapApplication(startupObject);
+ }
+
+ protected synchronized void bootstrapApplication(Object startupObject)
+ {
+ if (started.get())
+ {
+ return;
+ }
+
// Initalize Application Context
logger.info(OWBLogConst.INFO_0005);
@@ -134,6 +147,8 @@ public abstract class AbstractLifeCycle
{
logger.log(Level.INFO, OWBLogConst.INFO_0001, Long.toString(System.currentTimeMillis() - begin));
}
+
+ started.set(true);
}
@Override
@@ -187,6 +202,7 @@ public abstract class AbstractLifeCycle
}
finally
{
+ started.set(false);
// Clear singleton list
WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader());
}