組み込みJetty 9のスレッドプールサイズを変更するにはどうすればよいですか?これには特定のコンポーネントが必要ですか?
docs から:
サーバーインスタンスは、他のJettyサーバーコンポーネントが使用するデフォルトのExecutorサービスであるThreadPoolインスタンスを提供します。スレッドプールの主要な構成は最大サイズと最小サイズであり、etc/jetty.xmlで設定されます。
<Configure id="server" class="org.Eclipse.jetty.server.Server">
<Set name="threadPool">
<New class="org.Eclipse.jetty.util.thread.QueuedThreadPool">
<Set name="minThreads">10</Set>
<Set name="maxThreads">1000</Set>
</New>
</Set>
</Configure>
または
QueuedThreadPool threadPool = new QueuedThreadPool(100, 10);
Server server = new Server(threadPool);
前述のように、上記のコード例Javaで修正)で、Jetty 9(以降)のコンストラクター引数としてスレッドプールが提供されるようになりました。
修正されたXMLの例:
<Configure id="Server" class="org.Eclipse.jetty.server.Server">
<!-- =========================================================== -->
<!-- Configure the Server Thread Pool. -->
<!-- -->
<!-- Consult the javadoc of o.e.j.util.thread.QueuedThreadPool -->
<!-- for all configuration that may be set here. -->
<!-- =========================================================== -->
<Get name="ThreadPool">
<Set name="minThreads" type="int">10</Set>
<Set name="maxThreads" type="int">200</Set>
<Set name="idleTimeout" type="int">60000</Set>
<Set name="detailedDump">false</Set>
</Get>
...