From 5d819b2776328e914a26ae011692084e1b614e26 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Fri, 14 Sep 2018 16:46:40 +1200 Subject: Add Windows service support --- src/org/traccar/Main.java | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'src/org/traccar/Main.java') diff --git a/src/org/traccar/Main.java b/src/org/traccar/Main.java index fd1f07dca..986731240 100644 --- a/src/org/traccar/Main.java +++ b/src/org/traccar/Main.java @@ -67,7 +67,29 @@ public final class Main { public static void main(String[] args) throws Exception { Locale.setDefault(Locale.ENGLISH); - Context.init(args); + if (args.length <= 0) { + throw new RuntimeException("Configuration file is not provided"); + } + + String configFile = args[args.length - 1]; + + if (args.length > 1) { + WindowsService windowsService = new WindowsService("traccar"); + switch (args[1]) { + case "--install": + windowsService.install("traccar", null, null, null, null, configFile); + return; + case "--uninstall": + windowsService.uninstall(); + return; + case "--service": + default: + windowsService.init(); + break; + } + } + + Context.init(configFile); logSystemInfo(); LOGGER.info("Version: " + Context.getAppVersion()); LOGGER.info("Starting server..."); -- cgit v1.2.3