我需要在idea里配置两个application.yml文件,用来启动不同端口不同配置的pringboot 项目实例。
我的项目配置文件如下:
注意,配置文件要写成类似于application-* 这种形式,项目才可根据配置文件名启动。
其中在appication-dev1.yml中,配置结果如下:
server:
port: 8901
spring:
application:
name: im-tcp
rabbitmq:
host: 192.168.101.65
port: 5672
virtualHost: /dangren
username: dangren
password: dangren
publisher-confirm-type: correlated
publisher-returns: true
template:
mandatory: true
listener:
simple:
retry:
enabled: true
BootstrapConfig:
TcpConfig:
tcpPort: 9000
webSocketPort: 19000
bossThreadSize: 1
workThreadSize: 8
heartBeatTime: 3000 #心跳超时时间 单位毫秒
redis:
mode: single #单机模式 哨兵模式sentinel 集群模式 cluster
database: 0
password: 123456
timeout: 3000 #超时时间
poolMinIdle: 8 #最小空闲数
poolConnectTimeout: 3000 #连接超时时间
poolSize: 10 #连接池大小
single:
address: 127.0.0.1:6379
rabbitmq:
host: 192.168.101.65
port: 5672
virtualHost: /dangren
userName: dangren
password: dangren
zkConfig:
zkAddr: 127.0.0.1:2181
zkConnectTimeOut: 5000
在application-dev2.yml中配置文件如下:
其中,与dev1相比修改了的地方为:
server:
port: 8902
BootstrapConfig:
TcpConfig:
tcpPort: 9001
webSocketPort: 19001
bossThreadSize: 1
workThreadSize: 8
heartBeatTime: 3000 #心跳超时时间 单位毫秒
在idea选项卡中,配置为
在ide里配置选项解释说明:
(1)VM options:VM options其实就是我们在程序中需要的运行时环境变量,它需要以-D或-X或-XX开头,每个参数使用空格分隔eg: -Dspring.profiles.active=dev
(2)Program arguments:Program arguments为我们传入main方法的字符串数组args[],它通常以--开头,如--spring.profiles.active=dev; 其等价于-Dspring.profiles.active=dev,如果同时存在,以Program arguments配置优先,例如--server.port=8081
按我如图所示的配置,点击启动按钮,就可以启动不同配置文件的两个项目实例了!