package server; import java.util.ArrayList; import java.util.Date; import java.util.List; import models.Configuration; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Logger; import fileserv.FileServer; public class StartServer { private static Logger log = Logger.getLogger(StartServer.class); private static List servers = new ArrayList<>(); public static void main(String[] args) { //get going and show basic information in logfile BasicConfigurator.configure(); log.info("****************************************************************"); log.info("******************* starting Application ***********************"); log.info("****************************************************************"); // get Configuration try { log.info("Loading configuration"); Configuration.load(); } catch (Exception e1) { log.fatal("Could not load configuration", e1); System.exit(1); } // Start file transfer server if (!FileServer.instance().start()) { log.error("Could not start internal file server."); return; } // Start Server Thread t; t = new Thread(new BinaryListener()); servers.add(t); t.start(); // Wait for servers for (Thread wait : servers) { boolean success = false; while (!success) { try { wait.join(); success = true; } catch (InterruptedException e) { // Do nothing... } } } log.info(new Date() + " - all Servers shut down, exiting...\n"); } }