не удалось увеличить максимальный размер сообщения в wildfly 12 выше 250 МБ

14:55:23,465 ERROR [stderr] (default task-1) io.undertow.server.RequestTooBigException: UT000020: Connection terminated as request was larger than 209715200
14:55:23,465 ERROR [stderr] (default task-1)    at io.undertow.conduits.FixedLengthStreamSourceConduit.checkMaxSize(FixedLengthStreamSourceConduit.java:168)
14:55:23,465 ERROR [stderr] (default task-1)    at io.undertow.conduits.FixedLengthStreamSourceConduit.read(FixedLengthStreamSourceConduit.java:229)
14:55:23,465 ERROR [stderr] (default task-1)    at org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127)
14:55:23,465 ERROR [stderr] (default task-1)    at io.undertow.channels.DetachableStreamSourceChannel.read(DetachableStreamSourceChannel.java:209)
14:55:23,466 ERROR [stderr] (default task-1)    at io.undertow.server.HttpServerExchange$ReadDispatchChannel.read(HttpServerExchange.java:2337)
14:55:23,466 ERROR [stderr] (default task-1)    at org.xnio.channels.Channels.readBlocking(Channels.java:294)
14:55:23,466 ERROR [stderr] (default task-1)    at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:192)
14:55:23,466 ERROR [stderr] (default task-1)    at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:168)
14:55:23,466 ERROR [stderr] (default task-1)    at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:1027)
14:55:23,466 ERROR [stderr] (default task-1)    at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:931)
14:55:23,466 ERROR [stderr] (default task-1)    at java.io.InputStream.read(InputStream.java:101)
14:55:23,466 ERROR [stderr] (default task-1)    at org.apache.commons.fileupload.util.Streams.copy(Streams.java:98)
14:55:23,467 ERROR [stderr] (default task-1)    at org.apache.commons.fileupload.util.Streams.copy(Streams.java:68)

Вот соответствующая конфигурация в файле standalone.xml, где max-post-size установлен на 1073741824 байта (требуется 1 ГБ) Существует ли базовое ограничение в 200 МБ? Поиск всего файла для этого 209715200 внутри wildfly папку сервера я не нашел.

<subsystem xmlns="urn:jboss:domain:undertow:5.0">
            <buffer-cache name="default"/>
            <server name="default-server">
                <http-listener name="default" socket-binding="http" max-post-size="1073741824" redirect-socket="https" enable-http2="true" no-request-timeout="600000" />
                <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                    <http-invoker security-realm="ApplicationRealm"/>
                </host>
            </server>
            <servlet-container name="default">
                <jsp-config/>
                <websockets/>
            </servlet-container>
            <handlers>
                <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
            </handlers>
            <filters>
                <response-header name="server-header" header-name="Server" header-value="WildFly/11"/>
                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
            </filters>
        </subsystem>

person user2414115    schedule 03.08.2020    source источник
comment
Две вещи, о которых я могу думать: 1. Вы проверяли журналы запуска? У меня была дубликат в домашнем каталоге пользователя, запускающего сервер, и вместо этого использовался этот. 2. Вы проверяли, может ли это быть установлено параметром запуска? это также может сказать вам, какой файл конфигурации используется.   -  person Snorik    schedule 03.08.2020


Ответы (1)


Есть интерфейс командной строки (папка bin сервера jboss). Обновление размера с помощью этой командной строки работает. Ниже приведена команда, чтобы установить его примерно выше 700 МБ. В папке bin сервера wildfly, поскольку я работаю в Windows, есть jboss-cli.bat. Если мы запустим его и подключимся, то мы можем сделать следующую команду, чтобы установить его. /subsystem=undertow/server=default-server/http-listener=default/:write-attribute(name=max-post-size,value=754857600)

мы также можем сделать атрибут чтения без каких-либо параметров, чтобы увидеть, что было установлено сейчас

Еще одна сумасшедшая вещь заключалась в том, что в этом проекте использовались очень старые распорки (1.3.x). Эта платформа Struts имеет ограничение размера загружаемого файла по умолчанию, равное 250 МБ. Со всем интернетом (да и я сам) забыл про struts 1.x, такой найти было сложно. В любом случае, в настройках контроллера в struts-config.xml есть параметр maxFileSize, который мы можем установить. В противном случае размер по умолчанию составляет 250 МБ. ‹controller ... maxFileSize=750M .../› отменит значение по умолчанию.

person user2414115    schedule 03.08.2020
comment
Какой вызов вы использовали для этого и где он сохранился, или это вариант запуска? - person Snorik; 03.08.2020
comment
Спасибо @Snorik за помощь... Это скорее ограничение фреймворка Struts. - person user2414115; 04.08.2020
comment
@Snorik, ты тоже прав. у меня была еще одна папка сервера wildfly. однако команда CLI обновила текущую, поэтому изменение на max-post-size было принято. - person user2414115; 04.08.2020