Maven码头错误“ <set name =“ ThreadPool”>处的配置错误”

时间:2018-09-18 22:25:28

标签: java maven configuration jetty

我正在尝试使用maven在Java中配置一个jetty-servlet。我用以下条目创建了jetty.xml文件

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<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">200</Set>
      <Set name="detailedDump">false</Set>
    </New>
</Set>
</Configure>

在运行服务器时

mvn jetty:run

我看到了错误

[WARNING] Config error at <Set name="ThreadPool">
<New class="org.eclipse.jetty.util.thread.QueuedThreadPool"><Set 
  name="minThreads">10</Set><Set name="maxThreads">200</Set><Set 
  name="detailedDump">false</Set></New>
</Set>

但无法弄清楚问题出在哪里。我还将potty-util作为依赖项包含在pom.xml文件中。我正在使用码头版本9.4.12.v20180830和Java8。谢谢您的帮助!

1 个答案:

答案 0 :(得分:1)

ThreadPoolServer的构造函数参数。

请参阅:org.eclipse.jetty.server.Server的Javadoc

它不是服务器上的字段和/或设置器,因此您不能使用<Set name="ThreadPool">语法。

代替“替换”线程池,只需“获取”现有线程池并更改其设置即可。

例如:

<Get name="ThreadPool">
  <Set name="minThreads" type="int">10</Set>
  <Set name="maxThreads" type="int">200</Set>
  <Set name="detailedDump">false</Set>
</Get>