package server; import java.io.File; import java.io.IOException; 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 org.ini4j.InvalidFileFormatException; import org.ini4j.Wini; import server.BinaryListener; public class startServer { /** * @param args */ private static Logger log = Logger.getLogger( startServer.class ); private static List servers = new ArrayList<>(); public static void main(String[] args) { //get Configuration try { Wini ini=new Wini(new File("Server_Config.ini")); Configuration.config.setAbsolute_path(ini.get("ftp", "path_absolute")); Configuration.config.setSql_connection(ini.get("sql", "connection")); Configuration.config.setSql_pass(ini.get("sql", "pass")); Configuration.config.setSql_user(ini.get("sql", "user")); } catch (InvalidFileFormatException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //Start Server BasicConfigurator.configure(); log.info("***** "+ new Date() + " - starting Application *****" ); Thread t; t = new Thread(new BinaryListener()); servers.add(t); t.start(); //information log.info( new Date()+" - new thread created. Now "+servers.size()+" thread(s).\n" ); // Run more servers // ... // Wait for all servers to die 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" ); } }