spring - Spring Boot 2 中的 EmbeddedServletContainer

我们正在使用 Spring Boot 1.5.9 中的下一个接口(interface),没有任何问题:ConfigurableEmbeddedServletContainerEmbeddedServletContainerCustomizer

我们已经升级到 Spring Boot 2 (2.0.0.M7),这些接口(interface)都不存在。我们认为它们已针对具有相同目的的其他接口(interface)进行了修改,但我们不知道它们是什么。

有人可以帮助我们了解如何修改这段代码以获得与 Spring 1.5.9 中相同的行为吗?

我们的代码是下一个:

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() throws FileNotFoundException {

    final TomcatConnectorCustomizer customizer = new MyTomcatConnectionCustomizer(absoluteKeystoreFile,
            keystoreType, keystorePassword);
    return new EmbeddedServletContainerCustomizer() {

        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
            if (container instanceof TomcatEmbeddedServletContainerFactory) {
                TomcatEmbeddedServletContainerFactory containerFactory = (TomcatEmbeddedServletContainerFactory) container;
                containerFactory.addConnectorCustomizers(customizer);

                Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
                connector.setPort(port);
                containerFactory.addAdditionalTomcatConnectors(connector);

            }
        }
    };
}

最佳答案

您需要将 ConfigurableServletWebServerFactory 的实现作为 bean 返回,在您的情况下为 TomcatServletWebServerFactory

@Bean
public ConfigurableServletWebServerFactory webServerFactory() {
    final TomcatConnectorCustomizer customizer = new MyTomcatConnectionCustomizer(absoluteKeystoreFile,
        keystoreType, keystorePassword);
    TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
    factory.addConnectorCustomizers(connector -> {
        connector.setPort(port);
    }, customizer);
    return factory;
}

关于spring - Spring Boot 2 中的 EmbeddedServletContainerCustomizer 和 ConfigurableEmbeddedServletContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47832999/

相关文章:

java - 如何使用 RestTemplate 为每个请求设置 RequestConfigurat

spring - 如何在 apache 基准测试工具中限制每秒请求

java - STS Spring 与 Roo 和 Maven - 太慢了?

spring - java 9模块从A和B读取包X

spring - java.lang.ClassNotFoundException : org. a

java - 使用 spring-hateoas 反序列化包含(_links 和 _embedded

spring - Spring 和 Java EE 中的 @PersistenceContext E

java - 如何将 bean 注入(inject)作用域实现?

java - 无法使用 JAXB org.springframework.oxm.Unmarshal

java - Spring REST Controller 返回带有空数据的 JSON