Roberto Sánchez
2013-12-17 9dee3b104cccba41cab0f4369bec444485da7014
securis/src/main/java/net/curisit/securis/MainApp.java
....@@ -1,18 +1,55 @@
11 package net.curisit.securis;
22
3
+import java.io.IOException;
4
+import java.net.URI;
5
+import java.util.Arrays;
6
+
7
+import javax.inject.Inject;
8
+import javax.inject.Named;
9
+
10
+import net.curisit.securis.ioc.SecurisModule;
11
+
312 import org.glassfish.grizzly.http.server.HttpServer;
413 import org.slf4j.Logger;
514 import org.slf4j.LoggerFactory;
15
+
16
+import com.google.inject.Guice;
17
+import com.google.inject.Injector;
18
+import com.google.inject.Key;
19
+import com.google.inject.name.Names;
20
+import com.sun.jersey.api.container.grizzly2.GrizzlyServerFactory;
21
+import com.sun.jersey.api.core.PackagesResourceConfig;
22
+import com.sun.jersey.api.core.ResourceConfig;
23
+import com.sun.jersey.core.spi.component.ioc.IoCComponentProviderFactory;
24
+import com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory;
625
726 public class MainApp {
827
928 private static final Logger log = LoggerFactory.getLogger(MainApp.class);
1029
11
- private HttpServer mHttpServer;
30
+ private static HttpServer mHttpServer;
31
+ private static Injector injector = null;
1232
13
- public static void main(String[] args) {
33
+ @Inject
34
+ @Named("base-uri")
35
+ private URI uri;
36
+
37
+ public static void main(String[] args) throws IOException, InterruptedException {
1438 log.info("SeCuris init...");
1539
40
+ injector = Guice.createInjector(Arrays.asList(new SecurisModule()));
41
+ mHttpServer = startServer(injector.getInstance(Key.get(URI.class, Names.named("base-uri"))));
42
+ while (true) {
43
+ Thread.currentThread().sleep(100);
44
+ }
45
+ }
46
+
47
+ private static HttpServer startServer(URI uri) throws IOException {
48
+ System.out.println("Starting grizzly2...");
49
+ ResourceConfig rc = new PackagesResourceConfig("net.curisit.securis.services", "org.codehaus.jackson.jaxrs");
50
+ IoCComponentProviderFactory ioc = new GuiceComponentProviderFactory(rc, injector);
51
+
52
+ return GrizzlyServerFactory.createHttpServer(uri, rc, ioc);
1653 }
1754
1855 }