기본적으로 Jetty의 스레드 풀은 스레드 풀이 채워지면 무제한 대기열로 구현됩니다. 대기열의 크기를 제한하고 싶습니다. BlockingArrayQueue
에 대한 생성자가 있는데 maxCapacity
값이 있지만 jetty.xml을 사용하여 호출 할 방법이 없습니다. Jetty 9부터는 스레드 풀에 대한 설정자가 org.eclipse.jetty.server.Server
인데 이미 인스턴스화 된 스레드 풀에 대한 참조 만 가져올 수 있습니다 (this answer 참조). QueuedThreadPool
의 큐 필드 설정자는 UnsupportedOperationException
을 던져 생성자 삽입을 사용합니다. 그러나 스레드 풀을 돌연변이시킬 수는 있지만 서버 인스턴스에 새 스레드 풀을 설정하지 않으면 불가능합니다. 스레드 풀을 생성자 arg로 정의하려고 시도하면 다음 경고가 발생합니다.Jetty 9의 jetty.xml을 통한 대기열 제한 설정 Maven Plugin
2014-09-22 13:15:13.688 : 경고 : oejx.XmlConfiguration : main : 무시 된 arg : | 200501000 | 6000 | 거짓 |
이것은 제티 메이븐 플러그인 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>
답장을 보내 주셔서 감사합니다. 나는 https://wiki.eclipse.org/Jetty/Howto/High_Load뿐만 아니라 내 dev에이 버그를 재현하려고 : https : //이 문서를 기반으로 대기열 크기를 설정의 가능성을 찾고 있었어 : // bugs.eclipse.org/bugs/show_bug.cgi?id=444031. 실제로 스레드 풀을 업데이트하는 것과 관련하여 jetty.xml에서 제안한 내용을 시도했지만 경고 메시지가 나타납니다. 경고 : oejx.XmlConfiguration : main : 무시한 arg :<새 ID –
Cameron
wiki.eclipse.org는 부두 7과 8을위한 것입니다. 부두 9.이 아닙니다 (위키의 맨 위에 표시되어 있습니다). –
그 무시 무시한 인수에 대한 유일한 이유는 xml이 실행되기 전에 서버를 구성하는 것이있는 경우입니다. (더 알고 싶다면 startup/configuration/$ {jetty.base}에 대한 세부 사항이 필요합니다.) 그러나 이제는이 논평 섹션의 범위를 벗어났습니다. jetty-users 메일 링리스트에 질문을하십시오. –