Пристань как библиотека: как обрабатывать несколько потоков? - PullRequest
0 голосов
/ 15 сентября 2011

Я использую Jetty 7.0.2 в качестве библиотеки, следуя примеру HelloWorld http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld.

Моя цель - встроить простое веб-приложение в мою программу. Он анализирует URI и выполняет некоторые вычислительные задачи. Это может занять более минуты, чтобы вернуть данные XML клиенту.

Я могу отправлять сам. Но генерация контента будет отличаться для каждого запроса, и метод handle () реализации AbstractHandler будет блокировать. Таким образом, несколько обработчиков должны быть запущены в отдельных потоках.

Как это сделать? QueuedThreadPool создает очереди потоков, которые соединяются, но кажется, что метод handle () запускается только после завершения предыдущего потока!

1 Ответ

0 голосов
/ 22 декабря 2011

Если это единственная функциональность веб-приложения, которую вы хотите встроить, я бы посоветовал вам взглянуть на Netty .Как и Jetty, его очень легко встраивать, но он имеет настраиваемую модель резьбы.

...