You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2011/08/29 17:12:08 UTC

svn commit: r1162848 - /felix/trunk/main/src/main/java/org/apache/felix/main/Main.java

Author: rickhall
Date: Mon Aug 29 15:12:08 2011
New Revision: 1162848

URL: http://svn.apache.org/viewvc?rev=1162848&view=rev
Log:
Restart the framework if it was stopped due to a system bundle udpate
or refresh. (FELIX-3094)

Modified:
    felix/trunk/main/src/main/java/org/apache/felix/main/Main.java

Modified: felix/trunk/main/src/main/java/org/apache/felix/main/Main.java
URL: http://svn.apache.org/viewvc/felix/trunk/main/src/main/java/org/apache/felix/main/Main.java?rev=1162848&r1=1162847&r2=1162848&view=diff
==============================================================================
--- felix/trunk/main/src/main/java/org/apache/felix/main/Main.java (original)
+++ felix/trunk/main/src/main/java/org/apache/felix/main/Main.java Mon Aug 29 15:12:08 2011
@@ -24,6 +24,7 @@ import java.net.URL;
 import java.util.*;
 import org.apache.felix.framework.util.Util;
 import org.osgi.framework.Constants;
+import org.osgi.framework.FrameworkEvent;
 import org.osgi.framework.launch.Framework;
 import org.osgi.framework.launch.FrameworkFactory;
 
@@ -289,10 +290,15 @@ public class Main
             // Use the system bundle context to process the auto-deploy
             // and auto-install/auto-start properties.
             AutoProcessor.process(configProps, m_fwk.getBundleContext());
-            // Start the framework.
-            m_fwk.start();
-            // Wait for framework to stop to exit the VM.
-            m_fwk.waitForStop(0);
+            FrameworkEvent event;
+            do
+            {
+                // Start the framework.
+                m_fwk.start();
+                // Wait for framework to stop to exit the VM.
+                event = m_fwk.waitForStop(0);
+            }
+            while (event.getType() == FrameworkEvent.STOPPED_UPDATE);
             System.exit(0);
         }
         catch (Exception ex)