gpt4 book ai didi

spring - Spring Boot 2 中的 EmbeddedServletContainerCustomizer 和 ConfigurableEmbeddedServletContainer

转载 作者:IT老高 更新时间:2023-10-28 13:44:08 26 4
gpt4 key购买 nike

我们正在使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com