springboot服务配置两个端口
时间: 2023-12-18 22:04:33 浏览: 318
在Spring Boot中配置两个端口可以通过以下步骤完成:
1. 在`application.properties`或`application.yml`配置文件中添加以下属性:
```yaml
server.port=8080
# 添加第二个端口配置
server.additionalPorts=9090
```
2. 创建一个自定义的`EmbeddedServletContainerCustomizer` bean,并在其中进行端口配置。可以在应用的主类上添加`@Configuration`注解,并定义一个bean方法来创建自定义的`EmbeddedServletContainerCustomizer`。
```java
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.context.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ServerConfig {
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return container -> {
if (container instanceof TomcatEmbeddedServletContainerFactory) {
TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container;
// 配置第二个端口
tomcat.addAdditionalTomcatConnectors(createConnector());
}
};
}
private Connector createConnector() {
Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
connector.setPort(9090);
return connector;
}
}
```
这里使用了Tomcat作为内嵌容器,使用`TomcatEmbeddedServletContainerFactory`来进行配置。通过创建一个新的`Connector`对象,将第二个端口配置为9090,并添加到Tomcat中。
这样配置完成后,你的Spring Boot应用就会同时监听8080和9090两个端口。你可以根据需求进行相应的调整。
阅读全文