При использовании Undertow в качестве встроенного сервера в Spring Boot (1.5.9.RELEASE) я могу принимать запросы к разным портам, используя
@Bean
public UndertowEmbeddedServletContainerFactory embeddedServletContainerFactory() {
UndertowEmbeddedServletContainerFactory factory = new UndertowEmbeddedServletContainerFactory();
factory.addBuilderCustomizers(new UndertowBuilderCustomizer() {
@Override
public void customize(Undertow.Builder builder) {
builder.addHttpListener(port,"0.0.0.0").setWorkerThreads(10);
}
});
return factory;
}
Проблема заключается в том, что настроенные рабочие потоки переопределяют заданную конфигурацию в свойствах приложения server.undertow.worker-threads и не эксклюзив для запросов, исходящих с этого порта.
В отличие от этого, при использовании tomcat это достигается с помощью
@Bean
public TomcatEmbeddedServletContainerFactory configurationEndpointServletContainer() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.addAdditionalTomcatConnectors(createStandardConnector(port, 10));//number of threads only for this port
return factory;
}
private Connector createStandardConnector(int p, int t) {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(p);
((Http11NioProtocol) connector.getProtocolHandler()).setMaxThreads(t);
return connector;
}
Возможно ли такое поведение в undertow? (может быть, путем настройки дополнительного сервера Undertow ??)
Спасибо