jetty-maven-plugin设置缓冲区大小

问题描述:

返回到jetty-maven-plugin我很难设置缓冲区大小。jetty-maven-plugin设置缓冲区大小

我的用例暗示文件上传(通常大小是〜700Ko)。 因为上传太大码头 - Maven的插件的默认配置,我得到的HTTP响应错误状态码413(请求过大)

我使用插件配置tryied:

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>${jetty-maven.version}</version> 
    <configuration> 
     <scanIntervalSeconds>3</scanIntervalSeconds> 

     <connectors> 
      <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
       <port>8080</port> 
       <maxIdleTime>60000</maxIdleTime> 
       <requestHeaderSize>8192</requestHeaderSize> 
       <requestBufferSize>2097152</requestBufferSize> 
      </connector> 
     </connectors> 
    </configuration> 
</plugin> 

然后我试图使用码头 - Maven的插件使用的jetty.xml文件

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>${jetty-maven.version}</version> 
    <configuration> 
     <scanIntervalSeconds>3</scanIntervalSeconds> 
     <jettyConfig>${basedir}/src/main/config/jetty/jetty.xml</jettyConfig> 
    </configuration> 
</plugin> 

的的jetty.xml低于:

<?xml version="1.0"?> 
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"  "http://jetty.mortbay.org/configure.dtd"> 
<Configure id="Server" class="org.eclipse.jetty.server.Server"> 
<Call name="addConnector"> 
    <Arg> 
    <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
    <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set> 
    <Set name="requestHeaderSize">8192</Set> 
    <Set name="requestBufferSize">2097152</Set> 
    </New> 
    </Arg> 
</Call> 
</Configure> 

没有用。 请问有人能给我正确的配置吗?

我不知道这是否修复了您的使用情况下的问题,但你可以尝试添加以下的Maven的码头,插件您<configuration>部分:由jesse mcconnell提到

<systemProperties> 
    <systemProperty> 
     <name>org.eclipse.jetty.server.Request.maxFormContentSize</name> 
     <value>-1</value> <!-- or any other value -1 is for max --> 
    </systemProperty> 
<systemProperties> 

物业在码头7/8更名为org.eclipse.jetty.server.Request.maxFormContentSize

对于我的码头6 org.mortbay.jetty.Request.maxFormContentSize正在工作。

+0

谢谢你的帮助。我会尝试 – Sylvain 2012-08-14 12:57:40

暂停(午餐)后,我抓住了本应测试的网络应用程序的代码。 对其“内部”配置存在冗余限制(使用具有自己的大小限制的上载代理)。

实际上提出了码头的两个配置都工作(现在web应用程序没有任何多余的限制)

+0

感谢您的帮助。 正如所提到的,应用程序服务器设置是由应用程序设置为限制的偏见。换句话说,这是拒绝大量上传而不是服务器的应用程序。 – Sylvain 2012-09-17 13:01:13

改变你的pom按照这个并添加此两个XML文件到您的项目。我希望,它会为你工作。

 <plugin> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>9.2.11.v20150529</version> 
      <configuration> 
       <contextPath>/random-api</contextPath> 
       <scanIntervalSeconds>5</scanIntervalSeconds> 
       <jettyXml>jetty.xml,jetty-http.xml</jettyXml> 
      </configuration> 
     </plugin> 

===============的jetty.xml和码头,http.xml ================= https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-tools/xwiki-platform-tool-jetty/xwiki-platform-tool-jetty-resources/src/main/resources/jetty/etc/jetty.xml

https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-tools/xwiki-platform-tool-jetty/xwiki-platform-tool-jetty-resources/src/main/resources/jetty/etc/jetty-http.xml

+0

不错....这件作品,你应该得到接受的愤怒 – Nicholas 2017-01-12 20:09:53