import java.io.FileInputStream; import java.io.IOException; import java.net.InetSocketAddress; import java.security.KeyStore; import java.util.concurrent.Executors; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; import javax.net.ssl.SSLParameters; import javax.net.ssl.TrustManagerFactory; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsParameters; import com.sun.net.httpserver.HttpsServer; import com.sun.net.httpserver.HttpServer; public class RESTHttpServer { static public int port=8080; static public Conf conf; static public Publisher mqtt_client; public static void main(String[] args) throws IOException { if(args.length>=1) try { conf = new Conf(args); } catch (Exception e) { e.printStackTrace(); return; } port = Integer.parseInt(conf.get("port")); mqtt_client = new Publisher(conf.protocol+"://"+conf.broker+":"+conf.get("portMqtt")); mqtt_client.start(); HttpServer server = HttpServer.create(new InetSocketAddress(port),0); //API del server server.createContext("/apirest", new HtmlPage(conf.confdir)); server.createContext("/install", new Install(mqtt_client)); server.createContext("/start", new Start(mqtt_client)); server.createContext("/stop", new Stop(mqtt_client)); server.createContext("/delete", new Delete(mqtt_client)); // ThreadPoolExecutor threadPoolExecutor = (ThreadPoolExecutor)Executors.newFixedThreadPool(5); server.setExecutor(Executors.newCachedThreadPool()); server.start(); System.out.println("cloudapp running on http://localhost:"+port); } }