How can I change thread pool size in embedded Jetty 9? Do we need any specific component for this?
问问题
44954 次
2 回答
31
来自文档:
Server 实例提供了一个 ThreadPool 实例,它是其他 Jetty 服务器组件使用的默认 Executor 服务。线程池的主要配置是最大和最小大小,并在 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);
于 2013-08-30T13:33:17.987 回答
21
如前所述,并在上面的 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>
...
于 2014-02-18T00:20:06.960 回答