一、需求:有一个 eureka 工程,有2个配置文件。需要根据不同的配置文件启动 2 次,并保证 2 个实例同时运行。
工程结构:
我已经有 2 个不同的配置文件:application-jy-01.properties、application-jy-02.properties
2 个配置文件中分别指定此工程 eureka 的端口为:1234、1235 。
二、实现。(方式二似乎比方式一 更加简单。)
方式一:在 idea 中新建 2 条启动规则, 启动时读取不同配置文件 。
此方法可以直接删除上图中的基本配置文件:application.properties 。
1. 点击红框中倒三角,再点击紫框中配置
2. 进入配置界面,选择左上角 + 号,
并依次填入启动配置的名字:eureka-jy-01 (随意取)
选择工程的启动类:com.es.eureka.EurekaApplication、
输入启动参数: --spring.profiles.active= jy-01 ( --spring.profiles.active=是固定格式,jy-01 是用以指定调用的配置文件)、
JRE 选择自已使用的 JDK 就好,最后点击 OK 。
3. 同样方法,新增另外一个启动规则:eureka-jy-02
( 上面说漏 了一点:Use classpath of module 是选择要启动的工程:eureka 。)
4. 此时已经成功新增了这 2 条启动规则:
5. 选择不同的规则,可以直接启动 eureka 工程,全同一工程在不同端口 同时运行。
这样,eureka 工程已在不同端口同时运行,2 个工程都可以访问到界面:
方法二:在基本配置文件中设置读取不同配置文件。
1. 工程结构图中其实已经可以看到我还有一个基本配置文件:application.properties 。
在此基本配置文件中,只需要有一行配置:spring.profiles.active=要调用的配置文件的名字。
这样就可指定使用某个配置文件了。
2. 欲使用配置文件 application-jy-02.properties 时就配置成:spring.profiles.active=jy-02
如下图:
3. 当要换作使用配置文件: application-jy-01.properties 时,也只需要修改这一行中的配置文件名为 jy-01 就行了。
如图:
4. 启动规则中则无需再设置启动参数:只要有蓝框中信息就行了。
5. 第1次启动工程后,修改基本配置文件中那一行,再第2次启动工程,同样可实现多实例同时运行在不同端口。