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; import org.apache.thrift.protocol.TProtocolFactory; import org.apache.thrift.server.TServer; import org.apache.thrift.server.TThreadPoolServer; import org.apache.thrift.transport.TServerSocket; import org.apache.thrift.transport.TServerTransport; import org.apache.thrift.transport.TTransportException; import org.apache.thrift.server.TThreadPoolServer.Args; 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) { //final ImageServerHandler handler = new ImageServerHandler(); //final ImageServer.Processor processor = new ImageServer.Processor(handler); /* try{ TServerTransport serverTransport = new TServerSocket(9090); //TServer server = new TSimpleServer(new Args(serverTransport).processor(processor)); TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor)); server.serve(); } catch (Exception e){ e.printStackTrace(); } */ //deprecated //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" ); } }