Alexander Bezrodniy
Alexander Bezrodniy

Reputation: 8804

Change thread pool size in Jetty 9

How can I change thread pool size in embedded Jetty 9? Do we need any specific component for this?

Upvotes: 30

Views: 54221

Answers (2)

sprynter
sprynter

Reputation: 349

As noted, and corrected in the Java code example above, the threadpool is now provided as a constructor argument in Jetty 9 (and later).

The corrected XML example:

<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>
    ...

Upvotes: 21

rocketboy
rocketboy

Reputation: 9741

From docs:

The Server instance provides a ThreadPool instance that is the default Executor service other Jetty server components use. The prime configuration of the thread pool is the maximum and minimum size and is set in 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>

Or

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

Upvotes: 34

Related Questions