1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package openr66.server;
22
23 import goldengate.common.database.exception.GoldenGateDatabaseException;
24 import goldengate.common.logging.GgInternalLogger;
25 import goldengate.common.logging.GgInternalLoggerFactory;
26 import goldengate.common.logging.GgSlf4JLoggerFactory;
27 import openr66.configuration.FileBasedConfiguration;
28 import openr66.protocol.configuration.Configuration;
29 import openr66.protocol.exception.OpenR66ProtocolPacketException;
30 import openr66.protocol.utils.OpenR66SignalHandler;
31
32 import org.jboss.netty.logging.InternalLoggerFactory;
33
34
35
36
37
38
39 public class R66Server {
40
41
42
43
44
45 public static void main(String[] args)
46 throws OpenR66ProtocolPacketException {
47 InternalLoggerFactory.setDefaultFactory(new GgSlf4JLoggerFactory(null));
48 final GgInternalLogger logger = GgInternalLoggerFactory
49 .getLogger(R66Server.class);
50 if (args.length < 1) {
51 logger
52 .error("Needs the configuration file as first argument");
53 return;
54 }
55 if (! FileBasedConfiguration
56 .setConfigurationServerFromXml(Configuration.configuration, args[0])) {
57 logger
58 .error("Needs a correct configuration file as first argument");
59 return;
60 }
61 try {
62 Configuration.configuration.serverStartup();
63 } catch (GoldenGateDatabaseException e) {
64 logger
65 .error("Startup of server is in error");
66 OpenR66SignalHandler.terminate(false);
67 }
68 logger.warn("Server OpenR66 starts for "+Configuration.configuration.HOST_ID);
69 System.err.println("Server OpenR66 starts for "+Configuration.configuration.HOST_ID);
70 }
71
72 }