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