Пул потоков в Jetty по умолчанию реализуется с неограниченной очередью после заполнения пула потоков. Я хотел бы установить ограничение на размер очереди. Существует конструктор для BlockingArrayQueue
, который принимает значение maxCapacity
, но я не вижу способа вызвать его с помощью jetty.xml. Начиная с Jetty 9, нет установщика для пула потоков в org.eclipse.jetty.server.Server
, я могу только получить ссылку на уже созданный пул потоков и изменить его (см. этот ответ). И установщик для поля очереди в QueuedThreadPool
выдает UnsupportedOperationException
, предлагая использовать внедрение конструктора. Но это невозможно, если я могу только изменить пул потоков, а не установить новый на экземпляре сервера. Попытка определить пул потоков в качестве аргумента конструктора приводит к следующему предупреждению:
2014-09-22 13:15:13.688:ПРЕДУПРЕЖДЕНИЕ:oejx.XmlConfiguration:main: Игнорируется аргумент: | 200501000| 6000| ложь|
Это с плагином Jetty Maven v9.2.2.v20140723. Вот конфигурация в моем pom.xml:
<configuration>
<jettyXml>${basedir}/jetty.xml</jettyXml>
<stopKey>x</stopKey>
<stopPort>7999</stopPort>
<requestLog implementation="org.eclipse.jetty.server.NCSARequestLog">
<append>true</append>
</requestLog>
<webApp>
<war>${basedir}/target/app</war>
<contextPath>/app</contextPath>
</webApp>
<scanTargets>
<scanTarget>${basedir}/src/main/webapp/WEB-INF/</scanTarget>
</scanTargets>
<reload>manual</reload>
</configuration>