-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathMain.java
40 lines (33 loc) · 1.02 KB
/
Main.java
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
package com.example.app;
import java.io.File;
import org.gwizard.config.ConfigModule;
import org.gwizard.healthchecks.HealthChecksModule;
import org.gwizard.hibernate.HibernateModule;
import org.gwizard.logging.LoggingModule;
import org.gwizard.metrics.MetricsModule;
import org.gwizard.rest.RestModule;
import org.gwizard.services.Run;
import org.gwizard.swagger.SwaggerModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
/**
* Set up the injector and start all services
*/
public class Main {
public static void main(String[] args) throws Exception {
if (args.length < 1) {
System.err.println("First argument needs to be a yaml config file, doofus");
return;
}
Injector injector = Guice.createInjector(
new ExampleModule(),
new ConfigModule(new File(args[0]), ExampleConfig.class),
new LoggingModule(),
new RestModule(),
new HibernateModule(),
new MetricsModule(),
new HealthChecksModule(),
new SwaggerModule());
injector.getInstance(Run.class).start();
}
}