import java.util.function.Supplier;
import org.argeo.api.init.RuntimeContext;
-import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
import org.osgi.framework.Constants;
private final static long STOP_FOR_UPDATE_TIMEOUT = 60 * 1000;
private final static long CLOSE_TIMEOUT = 60 * 1000;
- private final static String SYMBOLIC_NAME_FELIX_SCR = "org.apache.felix.scr";
+ // private final static String SYMBOLIC_NAME_FELIX_SCR = "org.apache.felix.scr";
private Map<String, String> config;
private Framework framework;
}
OsgiBoot osgiBoot = new OsgiBoot(bundleContext);
String frameworkUuuid = bundleContext.getProperty(Constants.FRAMEWORK_UUID);
- new Thread("OSGi boot framework " + frameworkUuuid) {
+
+ // separate thread in order to improve logging
+ Thread osgiBootThread = new Thread("OSGi boot framework " + frameworkUuuid) {
@Override
public void run() {
osgiBoot.bootstrap(config);
}
- }.start();
+ };
+ osgiBootThread.start();
+ // TODO return a completable stage so that inits can run in parallel
+// try {
+// osgiBootThread.join(60 * 1000);
+// } catch (InterruptedException e) {
+// // silent
+// }
}
public void update() {