X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.init%2Fsrc%2Forg%2Fargeo%2Finit%2Fosgi%2FActivator.java;h=a4f5a371d9d4c8ab708762b6be70156208510741;hb=1010bff4f1ffadbf3f7988fbd3eba70f5d672c88;hp=5a9527041bf01e5c99bb8cc9598d40c620a6b1ee;hpb=b7d8618ce593bbeca7e311d32a4d98988e27f877;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.init/src/org/argeo/init/osgi/Activator.java b/org.argeo.init/src/org/argeo/init/osgi/Activator.java index 5a9527041..a4f5a371d 100644 --- a/org.argeo.init/src/org/argeo/init/osgi/Activator.java +++ b/org.argeo.init/src/org/argeo/init/osgi/Activator.java @@ -1,9 +1,10 @@ package org.argeo.init.osgi; -import java.util.Enumeration; -import java.util.ResourceBundle; -import java.util.Vector; +import java.lang.System.Logger; +import java.lang.System.Logger.Level; +import java.util.Objects; +import org.argeo.init.logging.ThinLoggerFinder; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; @@ -13,44 +14,38 @@ import org.osgi.framework.BundleContext; * //wiki.eclipse.org/Configurator */ public class Activator implements BundleActivator { + static { + // must be called first + ThinLoggerFinder.lazyInit(); + } + private Logger logger = System.getLogger(Activator.class.getName()); + private Long checkpoint = null; + private OsgiRuntimeContext runtimeContext; public void start(final BundleContext bundleContext) throws Exception { + if (runtimeContext == null) { + runtimeContext = new OsgiRuntimeContext(bundleContext); + } + logger.log(Level.DEBUG, () -> "Argeo init via OSGi activator"); + // admin thread - Thread adminThread = new AdminThread(bundleContext); - adminThread.start(); +// Thread adminThread = new AdminThread(bundleContext); +// adminThread.start(); // bootstrap - OsgiBoot osgiBoot = new OsgiBoot(bundleContext); +// OsgiBoot osgiBoot = new OsgiBoot(bundleContext); if (checkpoint == null) { - osgiBoot.bootstrap(); +// osgiBoot.bootstrap(); checkpoint = System.currentTimeMillis(); } else { - osgiBoot.update(); + runtimeContext.update(); checkpoint = System.currentTimeMillis(); } } public void stop(BundleContext context) throws Exception { - } - - class JournaldResourceBundle extends ResourceBundle { - - @Override - protected Object handleGetObject(String key) { - switch (key) { - case "ERROR": - return "<5>"; - } - return null; - } - - @Override - public Enumeration getKeys() { - Vector keys = new Vector<>(); - keys.add("ERROR"); - return keys.elements(); - } - + Objects.requireNonNull(runtimeContext); + runtimeContext.stop(context); } }