X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.init%2Fsrc%2Forg%2Fargeo%2Finit%2FService.java;h=ef65d02cf14f46b35c805dc5ca5a8574c8136d63;hb=dea32138f55d1c80f75515793ed15be0e89e6d61;hp=9a01cffed555f88eaf081cd7bcb3d86245f61f68;hpb=6bbc3a40f506bd559413ea234f262dfeb5f29001;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.init/src/org/argeo/init/Service.java b/org.argeo.init/src/org/argeo/init/Service.java index 9a01cffed..ef65d02cf 100644 --- a/org.argeo.init/src/org/argeo/init/Service.java +++ b/org.argeo.init/src/org/argeo/init/Service.java @@ -6,6 +6,7 @@ import java.util.Map; import org.argeo.init.osgi.OsgiRuntimeContext; +/** Configure and launch an Argeo service. */ public class Service implements Runnable, AutoCloseable { private final static Logger log = System.getLogger(Service.class.getName()); @@ -29,8 +30,10 @@ public class Service implements Runnable, AutoCloseable { // shutdown on exit Runtime.getRuntime().addShutdownHook(new Thread(() -> { try { - if (Service.runtimeContext != null) + if (Service.runtimeContext != null) { Service.runtimeContext.close(); + //Service.runtimeContext.waitForStop(0); + } } catch (Exception e) { e.printStackTrace(); System.exit(1); @@ -38,13 +41,18 @@ public class Service implements Runnable, AutoCloseable { }, "Runtime shutdown")); Map config = new HashMap<>(); + config.put("osgi.framework.useSystemProperties", "true"); +// for (Object key : System.getProperties().keySet()) { +// config.put(key.toString(), System.getProperty(key.toString())); +// log.log(Logger.Level.DEBUG, key + "=" + System.getProperty(key.toString())); +// } try { - try (OsgiRuntimeContext osgiRuntimeContext = new OsgiRuntimeContext(config)) { + try (OsgiRuntimeContext osgiRuntimeContext = new OsgiRuntimeContext((Map) config)) { osgiRuntimeContext.run(); Service.runtimeContext = osgiRuntimeContext; Service.runtimeContext.waitForStop(0); } catch (NoClassDefFoundError e) { - try (StaticRuntimeContext staticRuntimeContext = new StaticRuntimeContext(config)) { + try (StaticRuntimeContext staticRuntimeContext = new StaticRuntimeContext((Map) config)) { staticRuntimeContext.run(); Service.runtimeContext = staticRuntimeContext; Service.runtimeContext.waitForStop(0);