]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.launcher/src/main/java/org/argeo/slc/cli/SlcMain.java
Adapt to OSGi
[gpl/argeo-slc.git] / runtime / org.argeo.slc.launcher / src / main / java / org / argeo / slc / cli / SlcMain.java
index 04caaab9eef388d907b755c4ba3779a8aafa6eba..08d4d9db02f45cb219f0743585d89a6bb4b54d6b 100644 (file)
@@ -25,7 +25,7 @@ import org.springframework.context.support.FileSystemXmlApplicationContext;
 
 public class SlcMain {
        public enum Mode {
-               single, agent
+               single, agent, osgi
        }
 
        private static Log log = null;
@@ -187,6 +187,20 @@ public class SlcMain {
                        applicationContext.start();
                        log.info("SLC Agent context started.");
                }
+               // OSGi
+               else if (mode.equals(Mode.osgi)) {
+                       final ConfigurableApplicationContext applicationContext;
+                       if (runtimeStr == null) {
+                               applicationContext = new ClassPathXmlApplicationContext(
+                                               DEFAULT_AGENT_CONTEXT);
+                       } else {
+                               applicationContext = new FileSystemXmlApplicationContext(
+                                               runtimeStr);
+                       }
+                       applicationContext.registerShutdownHook();
+                       applicationContext.start();
+                       log.info("SLC Agent context started.");
+               }
        }
 
        public static void printUsage() {