import java.net.InetSocketAddress; import java.util.ResourceBundle; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import com.sun.net.httpserver.HttpServer; @Component public class Server { @SuppressWarnings({ "unchecked", "rawtypes" }) public void startServer() { HttpServer hs = null; try { ResourceBundle bundle = ResourceBundle.getBundle("config"); String env = System.getProperty("env", "develop"); int port = Integer.parseInt(StringUtils.defaultIfBlank(bundle.getString(env+".port"),"8900")); GateHandler.checkToken = Boolean.parseBoolean(StringUtils.defaultIfBlank(bundle.getString(env+".token.check"),"8900")); hs = HttpServer.create(new InetSocketAddress(port), 0); hs.createContext("/gate", new MyHandler()); int threadMinCount = 50;// 最小线程数 int threadMaxCount = 200;// 最大线程数 int checkPeriod = 5;// 检验时间间隔(分钟) ThreadPoolExecutor threadPool = new ThreadPoolExecutor(threadMinCount, threadMaxCount, checkPeriod, TimeUnit.SECONDS, new ArrayBlockingQueue(100), new ThreadPoolExecutor.CallerRunsPolicy()); hs.setExecutor(threadPool); hs.start(); } catch (Exception e) { e.printStackTrace(); } } }
java HttpServer构建http服务器
猜你喜欢
转载自blog.csdn.net/mengxianhua/article/details/45037763
今日推荐
周排行