openwebbeans-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gpetra...@apache.org
Subject svn commit: r1573563 - /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
Date Mon, 03 Mar 2014 13:49:53 GMT
Author: gpetracek
Date: Mon Mar  3 13:49:53 2014
New Revision: 1573563

URL: http://svn.apache.org/r1573563
Log:
OWB-937 unified startup detection

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java?rev=1573563&r1=1573562&r2=1573563&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
(original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
Mon Mar  3 13:49:53 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;
 
@@ -41,6 +42,8 @@ import org.apache.webbeans.util.WebBeans
 
 public abstract class AbstractLifeCycle implements ContainerLifecycle
 {
+    protected AtomicBoolean started = new AtomicBoolean(false);
+
     //Logger instance
     protected Logger logger;
     
@@ -98,6 +101,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);
         
@@ -131,6 +144,8 @@ public abstract class AbstractLifeCycle 
         {
             logger.log(Level.INFO, OWBLogConst.INFO_0001, Long.toString(System.currentTimeMillis()
- begin));
         }
+
+        started.set(true);
     }
 
     @Override
@@ -184,6 +199,7 @@ public abstract class AbstractLifeCycle 
         }
         finally
         {
+            started.set(false);
             // Clear singleton list
             WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader());
         }



Mime
View raw message