Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring Boot 2中的EmbeddedServletContainerCustomizer和ConfigurableMbeddedServletContainer_Spring_Spring Boot - Fatal编程技术网

Spring Boot 2中的EmbeddedServletContainerCustomizer和ConfigurableMbeddedServletContainer

Spring Boot 2中的EmbeddedServletContainerCustomizer和ConfigurableMbeddedServletContainer,spring,spring-boot,Spring,Spring Boot,我们正在使用Spring Boot 1.5.9中的下一个接口,工作没有任何问题:ConfigurableMbeddedServletContainer和EmbeddedServletContainerCustomizer 我们已经升级到SpringBoot2(2.0.0.M7),但这些接口并不存在。我们认为它们已被修改用于其他具有相同目的的接口,但我们不知道它们是什么 有人能帮助我们,让我们知道如何修改这段代码,使其具有与Spring1.5.9中相同的行为吗 我们的代码是下一个: @Bean p

我们正在使用Spring Boot 1.5.9中的下一个接口,工作没有任何问题:
ConfigurableMbeddedServletContainer
EmbeddedServletContainerCustomizer

我们已经升级到SpringBoot2(2.0.0.M7),但这些接口并不存在。我们认为它们已被修改用于其他具有相同目的的接口,但我们不知道它们是什么

有人能帮助我们,让我们知道如何修改这段代码,使其具有与Spring1.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);

            }
        }
    };
}

您需要以bean的形式返回
ConfigurableServletWebServerFactory的实现,在您的示例中是
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;
}

可能与已寻址和已应答的和重复。您想在此处自定义什么?谢谢@shazin的回复。我已经测试了它,它编译成功了。我无法测试它,因为现在我的安全协议有问题(无法启动与ProtocolHandler[“https-jsse-nio-443”]关联的端点)。我必须先找到解决办法。