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)