web-dev-qa-db-fra.com

Modifier la taille du pool de threads dans Jetty 9

Comment puis-je changer la taille du pool de threads dans Jetty 9 intégrée? Avons-nous besoin d'un composant spécifique pour cela?

24
Alexander Bezrodniy

De docs :

L'instance de serveur fournit une instance de ThreadPool qui est le service d'exécution par défaut utilisé par les autres composants du serveur Jetty. La configuration principale du pool de threads est la taille maximale et minimale et est définie dans 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>

Ou

QueuedThreadPool threadPool = new QueuedThreadPool(100, 10);
Server server = new Server(threadPool);
27
rocketboy

Comme indiqué et corrigé dans l'exemple de code Java ci-dessus, le pool de threads est désormais fourni comme argument constructeur dans Jetty 9 (et versions ultérieures).

L'exemple XML corrigé:

<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