web-dev-qa-db-ja.com

Jetty 9でスレッドプールサイズを変更する

組み込みJetty 9のスレッドプールサイズを変更するにはどうすればよいですか?これには特定のコンポーネントが必要ですか?

24

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);
27
rocketboy

前述のように、上記のコード例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>
    ...
20
sprynter