【问题标题】:Jetty/winstone connector configuration in JenkinsJenkins 中的 Jetty/winstone 连接器配置
【发布时间】:2016-12-20 04:13:44
【问题描述】:

我在通过 JENKINS 的 WAN 链接下载时遇到了缓慢的问题。不讨论问题的细节,我想配置 Jenkins 显然使用的 Jetty 来添加以下连接器:

<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
 <Set name="host"><Property name="application-host"/></Set>
 <Set name="port"><Property name="application-port"/></Set>
 <Set name="forwarded">true</Set>
 <Set name="responseBufferSize">16777216</Set>
 <Set name="responseHeaderSize">1048576</Set>
</New>

但我不确定什么是正确的做法。 我在安装的任何地方都找不到 jetty.xml 文件。 我在 Windows 上使用 Jenkins,所以我想我只是使用 java -jar jenkins.war 启动它,它应该使用 Jetty/Winstone。

编辑:看起来这不能仅通过更改配置来完成。至少不在 SSL 上下文中:https://github.com/J-cztery/winstone/blob/master/src/java/winstone/HttpsConnectorFactory.java 硬编码创建 ServerContext。

【问题讨论】:

    标签: java jenkins jetty winstone


    【解决方案1】:

    如果您不使用像 Tomcat 这样的自定义 servlet 容器,那么 Jenkins 确实会使用内置的“Jetty/Winstone”容器。更准确地说:Jenkins 在 Jetty 周围使用了一个实现 Winstone 命令行界面的包装器(动机是在不更改界面的情况下从旧的 Winstone 切换到 Jetty)。

    可以通过直接在 Jenkins 命令行上添加选项来自定义 Jetty 容器(也就是说,在您的 Windows 情况下,通过将它们添加到 jenkins.xml 文件中的 &lt;arguments&gt; 标记中。

    可用选项(例如,--httpPort--sessionTimeout)记录在 github 上的 Jenkins winstone repository 中。

    如果这些选项还不够,那么您也许可以通过修改pom.xml 中的此部分来进一步自定义容器:

          <connectors>
            <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                <port>${port}</port>
            </connector>
          </connectors>
    

    ...或通过编辑web.xml 文件。至少后者可以在不更改war 文件的情况下通过编辑解压缩的$JENKINS_HOME/war/WEB-INF/web.xml 进行修改。不过,我还没有尝试过。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-31
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-26
      • 2011-01-09
      • 2021-08-17
      相关资源
      最近更新 更多