Spring Boot 2中的EmbeddedServletContainerCustomizer和ConfigurableMbeddedServletContainer
我们正在使用Spring Boot 1.5.9中的下一个接口,工作没有任何问题: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
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”]关联的端点)。我必须先找到解决办法。