Как изменить настройки Jetty через SparkJava? / Слишком большое исключение формы / org.eclipse.jetty.server.Request.maxFormContentSize

Я использую SparkJava 2.2, который использует Jetty 9.0.2.

Я получаю исключение "Слишком большая форма", которое выбрасывает Джетти. Я уже знаю, как решить эту проблему, если бы я использовал Jetty напрямую:

Слишком большое исключение

http://www.eclipse.org/jetty/documentation/current/setting-form-size.html

ПРОБЛЕМА:

Теперь мне нужно найти способ изменитьorg.eclipse.jetty.server.Request.maxFormContentSize установка через SparkJava. Есть ли способ сделать это?

Я должен отметить, что другие методы (JVM_OPTS, System.setProperty) не работают для меня по некоторым причинам. Я все еще получаю то же исключение.

Трассировки стека:

[qtp1858644635-27] ERROR spark.webserver.MatcherFilter -
java.lang.IllegalStateException: Form too large 308913>200000
    at org.eclipse.jetty.server.Request.extractParameters(Request.java:334)
    at org.eclipse.jetty.server.Request.getParameterMap(Request.java:765)
    at javax.servlet.ServletRequestWrapper.getParameterMap(ServletRequestWrapper.java:193)
    at spark.QueryParamsMap.<init>(QueryParamsMap.java:59)
    at spark.Request.initQueryMap(Request.java:364)
    at spark.Request.queryMap(Request.java:349)
    at spark.webserver.RequestWrapper.queryMap(RequestWrapper.java:213)
    at com.xyz.analytics.webservice.RequestTools.getRequestQueryMap(RequestTools.java:27)
    at com.xyz.analytics.webservice.RequestTools.getMandrillQueryParams(RequestTools.java:22)
    at com.xyz.analytics.webservice.Endpoints.lambda$initiateEndpointsAndExceptionHandlers$2(Endpoints.java:61)
    at com.xyz.analytics.webservice.Endpoints$$Lambda$3/1485697819.handle(Unknown Source)
    at spark.SparkBase$1.handle(SparkBase.java:311)
    at spark.webserver.MatcherFilter.doFilter(MatcherFilter.java:159)
    at spark.webserver.JettyHandler.doHandle(JettyHandler.java:60)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:179)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:451)
    at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:252)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:266)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:240)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:596)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:527)
    at java.lang.Thread.run(Thread.java:745)
Редактировать:

Я должен отметить, что другие методы (JVM_OPTS, System.setProperty) не работают для меня.

Ну, отладчик даже не останавливается на любой точке останова, установленной вorg.eclipse.jetty.server.handlerContextHandler... Плюс, когда он останавливается наorg.eclipse.jetty.server.Request&nbsp;точки останова, свойство _context равно нулю. Кажется, SparkJava обрабатывает это по-другому. Тупик.

Запрос делает еще одну вещь перед установкойmaxFormContentSize = 200000;, Он проверяет _channel.getServer (). GetAttribute ("org.eclipse.jetty.server.Request.maxFormContentSize"). За исключением того, что коллекция атрибутов Сервера пуста ... И я не вижу способа добавить какой-либо атрибут. Сервер Jetty создается SparkBase.init (), который вызывает SparkServer.ignite (). Но это нам мало помогает. Нелегко "взломать", чтобы сделать наши собственные корректировки. Это кажется довольно безнадежным.