在 Mac 上运行 12 个 tomcat 服务器的步骤
准备好一个要在 12 个不同端口上本地运行的 Spring Boot 实例。 转到 IntelliJ 选项 > 运行(编辑配置)Ctrl + Opt + R(Mac 快捷方式) 使用 + 号添加新的 Spring Boot 运行配置,如下所示。 如果您在 IntelliJ 设置中找不到启用显示的功能,请在“VM 选项”中给出差异端口号。
-Dserver.port=8081
这样你就可以运行任意数量的服务器实例(我尝试了 12 个)
逐一启动,您可以使用 diff 端口 ex 调用每个实例。 http://localhost:8081/callDB
这就是您在本地运行许多服务的通用源代码。
欢迎来到SO! 我认为你可以在这里采取多种不同的方法。
在 intelliJ 中“一键单击”即可运行所有 12 个进程。 为此,创建“复合”类型的运行/调试配置。您的第一张图片已显示您已定义所有 12 个实例。现在在同一窗口中按“+”,然后选择“复合”。为其命名并一一添加所有实例。然后运行这个复合配置,它将启动所有实例。
第一种方法仍然意味着您有 12 个 JVM 进程同时运行。如果您只想运行一个暴露 12 个端口的 JVM 应用程序,您可以自定义 spring boot 配置并在 tomcat 中创建 11 个附加连接器(即在某个端口上等待传入连接的组件)。
@Bean
public ServletWebServerFactory servletContainer(@Value("${server.port}") int serverPort,
AdditionalPortConfigProperties conf) {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
conf.getPorts().forEach(p -> { // list of integers - ports to be opened
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(p.getSrcPort());
// you can customize the protocol if you wish - set max incoming header size, etc.
// this line adds a connector to your tomcat configuration
tomcat.addAdditionalTomcatConnectors(connector);
}
});