]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.init/src/org/argeo/init/osgi/Activator.java
Make logging configurable
[lgpl/argeo-commons.git] / org.argeo.init / src / org / argeo / init / osgi / Activator.java
1 package org.argeo.init.osgi;
2
3 import java.lang.System.Logger;
4 import java.lang.System.Logger.Level;
5
6 import org.argeo.init.logging.ThinLoggerFinder;
7 import org.osgi.framework.BundleActivator;
8 import org.osgi.framework.BundleContext;
9
10 /**
11 * An OSGi configurator. See
12 * <a href="http://wiki.eclipse.org/Configurator">http:
13 * //wiki.eclipse.org/Configurator</a>
14 */
15 public class Activator implements BundleActivator {
16 static {
17 // must be called first
18 ThinLoggerFinder.lazyInit();
19 }
20 Logger logger = System.getLogger(Activator.class.getName());
21
22 private Long checkpoint = null;
23
24 public void start(final BundleContext bundleContext) throws Exception {
25 logger.log(Level.DEBUG, () -> "Argeo init via OSGi activator");
26
27 // admin thread
28 Thread adminThread = new AdminThread(bundleContext);
29 adminThread.start();
30
31 // bootstrap
32 OsgiBoot osgiBoot = new OsgiBoot(bundleContext);
33 if (checkpoint == null) {
34 osgiBoot.bootstrap();
35 checkpoint = System.currentTimeMillis();
36 } else {
37 osgiBoot.update();
38 checkpoint = System.currentTimeMillis();
39 }
40 }
41
42 public void stop(BundleContext context) throws Exception {
43 }
44 }