diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2019-03-31 22:35:39 -0700 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2019-03-31 22:35:39 -0700 |
commit | 59416923dcb3a756eaf532cc4259f2f6625c0762 (patch) | |
tree | 9082dae6616deac8fda432b7bfd80e4a52b6d9dc /src/org/traccar/Main.java | |
parent | 79a129dd6327d932133d6b9a50190d3f4927bff9 (diff) | |
download | trackermap-server-59416923dcb3a756eaf532cc4259f2f6625c0762.tar.gz trackermap-server-59416923dcb3a756eaf532cc4259f2f6625c0762.tar.bz2 trackermap-server-59416923dcb3a756eaf532cc4259f2f6625c0762.zip |
Convert project to gradle
Diffstat (limited to 'src/org/traccar/Main.java')
-rw-r--r-- | src/org/traccar/Main.java | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/src/org/traccar/Main.java b/src/org/traccar/Main.java deleted file mode 100644 index 6ebd1d399..000000000 --- a/src/org/traccar/Main.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright 2012 - 2019 Anton Tananaev (anton@traccar.org) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.traccar; - -import com.google.inject.Guice; -import com.google.inject.Injector; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.lang.management.ManagementFactory; -import java.lang.management.MemoryMXBean; -import java.lang.management.OperatingSystemMXBean; -import java.lang.management.RuntimeMXBean; -import java.nio.charset.Charset; -import java.sql.SQLException; -import java.util.Timer; -import java.util.TimerTask; -import java.util.Locale; - -public final class Main { - - private static final Logger LOGGER = LoggerFactory.getLogger(Main.class); - - private static final long CLEAN_PERIOD = 24 * 60 * 60 * 1000; - - private static Injector injector; - - public static Injector getInjector() { - return injector; - } - - private Main() { - } - - public static void logSystemInfo() { - try { - OperatingSystemMXBean operatingSystemBean = ManagementFactory.getOperatingSystemMXBean(); - LOGGER.info("Operating system" - + " name: " + operatingSystemBean.getName() - + " version: " + operatingSystemBean.getVersion() - + " architecture: " + operatingSystemBean.getArch()); - - RuntimeMXBean runtimeBean = ManagementFactory.getRuntimeMXBean(); - LOGGER.info("Java runtime" - + " name: " + runtimeBean.getVmName() - + " vendor: " + runtimeBean.getVmVendor() - + " version: " + runtimeBean.getVmVersion()); - - MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean(); - LOGGER.info("Memory limit" - + " heap: " + memoryBean.getHeapMemoryUsage().getMax() / (1024 * 1024) + "mb" - + " non-heap: " + memoryBean.getNonHeapMemoryUsage().getMax() / (1024 * 1024) + "mb"); - - LOGGER.info("Character encoding: " - + System.getProperty("file.encoding") + " charset: " + Charset.defaultCharset()); - - } catch (Exception error) { - LOGGER.warn("Failed to get system info"); - } - } - - public static void main(String[] args) throws Exception { - Locale.setDefault(Locale.ENGLISH); - - if (args.length <= 0) { - throw new RuntimeException("Configuration file is not provided"); - } - - final String configFile = args[args.length - 1]; - - if (args[0].startsWith("--")) { - WindowsService windowsService = new WindowsService("traccar") { - @Override - public void run() { - Main.run(configFile); - } - }; - switch (args[0]) { - case "--install": - windowsService.install("traccar", null, null, null, null, configFile); - return; - case "--uninstall": - windowsService.uninstall(); - return; - case "--service": - default: - windowsService.init(); - break; - } - } else { - run(configFile); - } - } - - public static void run(String configFile) { - try { - Context.init(configFile); - injector = Guice.createInjector(new MainModule()); - logSystemInfo(); - LOGGER.info("Version: " + Main.class.getPackage().getImplementationVersion()); - LOGGER.info("Starting server..."); - - Context.getServerManager().start(); - if (Context.getWebServer() != null) { - Context.getWebServer().start(); - } - - new Timer().scheduleAtFixedRate(new TimerTask() { - @Override - public void run() { - try { - Context.getDataManager().clearHistory(); - } catch (SQLException error) { - LOGGER.warn("Clear history error", error); - } - } - }, 0, CLEAN_PERIOD); - - Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { - @Override - public void uncaughtException(Thread t, Throwable e) { - LOGGER.error("Thread exception", e); - } - }); - - Runtime.getRuntime().addShutdownHook(new Thread() { - @Override - public void run() { - LOGGER.info("Shutting down server..."); - - if (Context.getWebServer() != null) { - Context.getWebServer().stop(); - } - Context.getServerManager().stop(); - } - }); - } catch (Exception e) { - LOGGER.error("Main method error", e); - throw new RuntimeException(e); - } - } - -} |