Я пытаюсь создать библиотеку, которая позволяет выставлять приложение SpringBoot на второй порт (8090).
Чтобы это работало, у меня есть автоконфигурация, как определено ниже:
@Configuration
@ConditionalOnWebApplication(
type = Type.SERVLET
)
public class HttpConfig {
public HttpConfig() {
}
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addAdditionalTomcatConnectors(new Connector[]{this.createStanderConnecter()});
return factory;
}
private Connector createStanderConnecter() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(8090);
return connector;
}
}
Если я определю эту конфигурацию в том же проекте, она будет работать нормально.
Но если я импортирую эту конфигурацию как модуль, мое приложение не запустится со следующей ошибкой:
Caused by: org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to multiple ServletWebServerFactory beans : tomcatServletWebServerFactory,servletContainer
Чего мне не хватает?