Jetty-maven-plugin устанавливает размеры буферов

Возвращаясь к плагину jetty-maven, у меня возникли проблемы с установкой размера буферов.

Мой вариант использования подразумевает загрузку файла (обычный размер ~ 700Ko). Поскольку загрузка слишком велика для конфигурации по умолчанию jetty-maven-plugin, я получаю ответ Http с кодом состояния ошибки 413 (слишком большой запрос)

Я пробовал использовать конфигурацию плагина:

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

Затем я попытался использовать плагин jetty-maven-plugin с файлом 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>

Ничего не работает. Может ли кто-нибудь передать мне правильную конфигурацию?


person Sylvain    schedule 14.08.2012    source источник


Ответы (3)


Я не уверен, решит ли это проблему в вашем варианте использования, но вы можете попробовать добавить следующее в свой <configuration> раздел плагина maven-jetty-plugin:

<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 работает.

person markus    schedule 14.08.2012
comment
Спасибо за помощь. я попытаюсь - person Sylvain; 14.08.2012

измените свой 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 и jetty-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

person redblood    schedule 12.01.2017

После паузы (обеда) я схватил код веб-приложения, которое должен был тестировать. Во "внутренней" конфигурации было избыточное ограничение (используйте агент загрузки с собственным ограничением размера).

Фактически, две конфигурации, предложенные для причала, работают (теперь это веб-приложение не имеет каких-либо избыточных ограничений).

person Sylvain    schedule 14.08.2012
comment
Спасибо за помощь. Как уже упоминалось, настройка сервера приложения была связана с ограничением, установленным приложением. Другими словами, это приложение отказывалось от больших загрузок, а не сервер. - person Sylvain; 17.09.2012