【问题标题】:Run serveral SpringBootApplications on same Server在同一台服务器上运行多个 Spring Boot 应用程序
【发布时间】:2019-04-25 15:31:23
【问题描述】:

我们有几个用@SpringBootApplication注解的类,我们希望在同一台机器上同时运行它们。我们如何配置 Spring 以使它们之间的交互尽可能少?

我们认为问题具体归结为 Spring 如何设置 tomcat,因为我们花时间排除了其他实现细节作为原因。具体来说,访问同一端口的两个应用程序似乎会导致问题。

@SpringBootApplication
@ComponentScan
public class ServerA {
    public static void main(String[] args) { 
        final ConfigurableApplicationContext context = SpringApplication.run(ServerA.class,args);
        ...
}

【问题讨论】:

标签: spring-boot tomcat server


【解决方案1】:

您可以通过在 applications.properties 文件中添加端口号来运行多个 Spring Boot 应用程序。将端口号添加到每个属性文件。不要重复端口号。

server.port = 8081

【讨论】:

    【解决方案2】:

    仅构建一个 jar 文件并通过传递端口运行时以不同的端口运行相同的 jar。

    例如:

    java -jar app.jar --server.port=9000
    java -jar app.jar --server.port=9001
    java -jar app.jar --server.port=9002
    

    --server.port 是spring docs 建议的方式,您也可以使用-Dserver.port=9000 传递参数。

    【讨论】:

      猜你喜欢
      • 2021-03-02
      • 2021-03-02
      • 2019-01-26
      • 2019-08-06
      • 2015-07-26
      • 1970-01-01
      • 2016-09-05
      • 2018-04-21
      • 2014-05-05
      相关资源
      最近更新 更多