X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.init%2Fsrc%2Forg%2Fargeo%2Finit%2FService.java;h=03e2f12732941952f90302854d9218e9f020344a;hb=3f531963783739e8a802bb44fc90b5719ec4d355;hp=9a01cffed555f88eaf081cd7bcb3d86245f61f68;hpb=b7d8618ce593bbeca7e311d32a4d98988e27f877;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..03e2f1273 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()); @@ -24,13 +25,15 @@ public class Service implements Runnable, AutoCloseable { public static void main(String[] args) { long pid = ProcessHandle.current().pid(); - log.log(Logger.Level.DEBUG, "Starting with PID " + pid); + log.log(Logger.Level.DEBUG, "Argeo Init starting with PID " + pid); // 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); @@ -54,6 +62,7 @@ public class Service implements Runnable, AutoCloseable { e.printStackTrace(); System.exit(1); } + log.log(Logger.Level.DEBUG, "Argeo Init stopping with PID " + pid); } }