Как установить максимальный размер ласточки в весенней загрузке 2? - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь установить для свойства max-swallow-size tomcat значение -1 в микросервисе Springboot при обновлении до версии 2 Springboot; Мой предыдущий код работал, но при обновлении некоторые классы изменились, поэтому он перестал работать.

Я пытался установить свойство двумя способами, но оба не работают;

  1. с сервисной конфигурацией
@Bean
public ServletWebServerFactory servletContainerFactory() {

        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();

        factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
            @Override
            public void customize(Connector connector) {
                if(connector.getProtocolHandler() instanceof AbstractHttp11Protocol) {
                    logger.debug("Setting maxSwallowSize for server connector as "+maxSwallowSize);
                    ((AbstractHttp11Protocol <?>) connector.getProtocolHandler()).setMaxSwallowSize(maxSwallowSize);
                }
            }
        });

        return factory;
    }

В потоке управления я вижу напечатанную строку отладки, но она не вступила в силу, поскольку ответ конечной точки равен 502 (неверный шлюз) вместо 400

Второй способ: 2. через файл application.properties со свойством

server.tomcat.max-swallow-size=-1

Это тоже не чтим.

Теперь, как я могу проверить значение свойства, установлено ли оно на самом деле или нет? или я правильно устанавливаю значение?

1 Ответ

0 голосов
/ 22 мая 2019

Этот новый класс решил мою проблему

@Component
public class TomcatCustomizer implements
WebServerFactoryCustomizer<TomcatServletWebServerFactory> {

    @Override
    public void customize(TomcatServletWebServerFactory factory) {

        factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
            @Override
            public void customize(Connector connector) {
                if(connector.getProtocolHandler() instanceof AbstractHttp11Protocol) {
                    ((AbstractHttp11Protocol <?>) connector.getProtocolHandler()).setMaxSwallowSize(maxSwallowSize);
                }
            }
        });
    }
}

и я использовал обновленные свойства в весенней загрузке 2.0

spring.servlet.multipart.max-file-size= XX MB
spring.servlet.multipart.max-request-size= YY MB

...