我正在将我的项目 Spring 迁移到 Spring Boot。但是我遇到了一个问题,我们有一个使用 apache2 和 mod_cluster 的反向代理。在实际版本中,我们在 server.xml 中声明了一个 Listerner。
<Listener className="org.jboss.modcluster.container.catalina.standalone.ModClusterListener" advertise="false" proxyList="${proxyList}" />
我把它当作一个 Spring Boot 应用程序。
private Connector ajpConnector() {
Connector connector = new Connector("AJP/1.3");
connector.setPort(8009);
connector.setRedirectPort(8443);
return connector;
}
private ModClusterListener modCluster() {
ModClusterListener modClusterListener = new ModClusterListener();
modClusterListener.setAdvertise(false);
modClusterListener.setProxyURL(proxyUrl);
return modClusterListener;
}
@Bean
public WebServerFactoryCustomizer<TomcatServletWebServerFactory> servletContainer() {
return server -> {
if (server != null) {
server.addContextLifecycleListeners(modCluster());
server.addAdditionalTomcatConnectors(ajpConnector());
}
};
}
但它不起作用,ModClusterListener 想要一个 Sever 类型的 LifecycleEvent,但它永远不会发生。谁能帮我?