2014-11-04 24 views
0

我想优化下游服务器,我想尝试为我的HttpListener设置I/O线程(WORKER_IO_THREADS和WORKER_TASK_CORE_THREADS)。你能帮我完成必要的步骤吗?为上游服务器设置工作线程

Undertow server = Undertow.builder().addHttpListener(80, "") 
       .setHandler(new HttpHandler() { 
       public void handleRequest(final HttpServerExchange exchange) 
         throws Exception { 
        String string_exchange = exchange.getQueryString(); 
        str = <some work on string_exchange> 
        exchange.getResponseSender().send(str); 
       } 
      }).build(); 
server.start(); 

我确实读过与监听器关联的XNIO worker需要配置。但我不清楚如何去做这件事。

回答

0

恐怕您需要按照documentation中所述手动引导Undertow。原因是所有处理程序都从一个XnioWorker共享NIO池。

XnioWorker worker = xnio.createWorker(OptionMap.builder() 
    .set(Options.WORKER_IO_THREADS, ioThreads) 
    .set(Options.WORKER_TASK_CORE_THREADS, workerThreads) 
    .set(Options.WORKER_TASK_MAX_THREADS, workerThreads) 
    .set(Options.TCP_NODELAY, true) 
    .getMap()); 
相关问题