Не удается настроить Http 2 во встроенном Tomcat с Spring Boot 1.5.17

Я пытаюсь настроить HTTP 2 для своего проекта Spring Boot, который работает на встроенном сервере Tomcat 8.5.34, но я не могу этого сделать. Я следовал этой теме SO, но не смог этого добиться. Мой сервер запускается и работает нормально, но он работает в HTTP 1.1 даже после настройки для HTTP 2. Я настроил свой проект для работы с самозаверяющим сертификатом, и эти настройки находятся в файле application.properties. Ниже мой файл конфигурации. Пожалуйста помоги.

@Configuration
public class ConnectorConfig {

    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint securityConstraint = new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                securityConstraint.addCollection(collection);
                context.addConstraint(securityConstraint);
            }
        };

        tomcat.addAdditionalTomcatConnectors(getHttpConnector());

        // the following line isn't working
        // tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> connector.addUpgradeProtocol(new Http2Protocol()));
        return tomcat;
    }


    @Bean // not working
    public EmbeddedServletContainerCustomizer tomcatCustomizer() {
        return (container) -> {
            if (container instanceof TomcatEmbeddedServletContainerFactory) {
                ((TomcatEmbeddedServletContainerFactory) container)
                        .addConnectorCustomizers((connector) -> connector.addUpgradeProtocol(new Http2Protocol()));
            }
        };
    }

    private Connector getHttpConnector() {
        Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
        connector.setScheme("http");
        connector.setPort(8080);
        connector.setSecure(false);
        connector.setRedirectPort(9000);

        // the following line isn't working
        // connector.addUpgradeProtocol(new Http2Protocol());
        return connector;
    }
}

person sam    schedule 04.12.2018    source источник
comment
Я не знаю, что не так, но в SB2 есть встроенная поддержка HTTP/2, поэтому я бы на вашем месте обновился.   -  person Stephane Nicoll    schedule 04.12.2018
comment
@StephaneNicoll хорошо, Стефан, не могли бы вы вкратце рассказать о том, насколько мои коды повлияют, если я обновлюсь. В основном мой проект использует Spring MVC, Spring Data, Spring Elastic Search, Hibernate JPA.   -  person sam    schedule 04.12.2018
comment
@StephaneNicoll Я попытался изменить версию весенней загрузки на 2.0.7 с 1.5.17 и обнаружил, что в классах много изменений. Так что я не могу позволить себе сделать это сейчас.   -  person sam    schedule 04.12.2018
comment
Вам все равно придется это сделать, 1.5 станет EOL в августе следующего года. Если у вас возникли проблемы с обновлением, вы можете задать вопрос здесь или на канале Gitter проекта Spring Boot.   -  person Stephane Nicoll    schedule 05.12.2018
comment
@StephaneNicoll большое спасибо.   -  person sam    schedule 05.12.2018