有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在一个jvm中运行多个spring引导jar

我的项目包含几个服务,每个服务都用@SpringBootApplication注释,可以通过“gradle bootRun”在随机端口上运行

是否可以将服务构建到JAR中,并在一个JVM中一起运行它们?不管是通过编程方法还是将它们放在容器中

如果可能的话,请给我看一些说明。谢谢


共 (3) 个答案

  1. # 1 楼答案

    是的,你可以检查这个SO

    但是,如果分离运行中的用户进程和简单性是核心,我建议使用Docker containers,容器的每个运行实例(您的应用程序)将在同一台或分布式主机上运行自己的JVM

  2. # 2 楼答案

    这有点粗糙,但可以做到。不久前我写了一篇关于它的博文:Running Multiple Spring Boot Apps in the Same JVM。基本思想是在不同的类加载器中运行每个Spring引导应用程序(因为否则会出现资源冲突)

    我个人只把它用于测试。我更愿意在生产中的不同docker容器中运行不同的应用程序。但是对于测试来说,它非常酷:您可以快速启动应用程序并调试一切