Я построил простой HttpServer, следуя руководствам, которые я нашел в Интернете, используя облегченный HttpServer от Sun.
В основном основная функция выглядит так:
public static void main(String[] args) throws Exception {
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
//Create the context for the server.
server.createContext("/", new BaseHandler());
server.setExecutor(null); // creates a default executor
server.start();
}
И я реализовал метод интерфейса BaseHandler для обработки запроса Http и возврата ответа.
static class BaseHandler implements HttpHandler {
//Handler method
public void handle(HttpExchange t) throws IOException {
//Implementation of http request processing
//Read the request, get the parameters and print them
//in the console, then build a response and send it back.
}
}
Я также создал клиент, который отправляет несколько запросов через потоки. Каждый поток отправляет на сервер следующий запрос:
http://localhost:8000/[context]?int="+threadID
При каждом запуске клиента запросы поступают на сервер в разном порядке, но они обслуживаются последовательно.
Я хочу добиться того, чтобы запросы обрабатывались параллельно, если это возможно.
Можно ли, например, запускать каждый обработчик в отдельном потоке, и если да, то стоит ли это делать.
Или мне следует вообще отказаться от легковесного сервера Sun и сосредоточиться на создании чего-то с нуля?
Спасибо за любую помощь.