我们有几个用@SpringBootApplication注释的类,我们想在同一个机器上同时运行它们。我们如何配置Spring,以使它们之间的交互作用尽可能小?
我们认为问题特别归结于Spring如何设置tomcat,因为我们花时间排除了其他实现细节。具体来说,两个应用程序都访问同一端口似乎会引起问题。
@SpringBootApplication
@ComponentScan
public class ServerA {
public static void main(String[] args) {
final ConfigurableApplicationContext context = SpringApplication.run(ServerA.class,args);
...
}
答案 0 :(得分:0)
您可以通过在apps.properties文件中添加端口号来运行多个Spring Boot应用程序。将端口号添加到每个属性文件。不要重复端口号。
server.port = 8081
答案 1 :(得分:0)
仅构建一个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
传递参数。