Spring Boot-替换默认的嵌入式Tomcat连接器

我需要将AJP连接器添加到嵌入式Tomcat并 侦听8080 。

我尝试使用EmbeddedServletContainerCustomizer对此进行自定义,但是我无法获得Tomcat对象的句柄来替换在那里创建的默认连接器。结果,除了AJP端口之外,我最终还使用了8080上的http端口。

接下来,我尝试扩展TomcatEmbeddedServletContainerFactory并覆盖其getTomcatEmbeddedServletContainer方法。对于JavaDoc,这似乎是替换默认连接器的理想之地,但最终仍被启用(也不会创建我的AJP连接器)。有什么想法可能会丢失吗?我已经通过调试器验证了我的配置正在运行。

@Bean

public EmbeddedServletContainerFactory tomcat() {

TomcatEmbeddedServletContainerFactory myFactory = new TomcatEmbeddedServletContainerFactory();

myFactory.setProtocol("AJP/1.3");

myFactory.setPort(9000);

return myFactory;

}

@Bean

public EmbeddedServletContainerCustomizer containerCustomizer2() {

return new EmbeddedServletContainerCustomizer() {

@Override

public void customize(ConfigurableEmbeddedServletContainer container) {

TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container;

tomcat.addConnectorCustomizers(new TomcatConnectorCustomizer() {

@Override

public void customize(Connector connector) {

connector.setRedirectPort(9001);

}

});

}

};

}

回答:

您可以使用将A TomcatConnectorCustomizer连接器添加到中,以将其配置为使用AJP

TomcatEmbeddedServletContainerFactory

以上是 Spring Boot-替换默认的嵌入式Tomcat连接器 的全部内容, 来源链接: utcz.com/qa/398832.html

回到顶部