在项目开发、运行、部署过程中,经常出现代码在测试环境和开发环境,甚至在正式文件来回修改的问题,因为配置文件修改的错误,导致的问题也很多。这个做开发的都很明白,不做过多说明。
waterest云框架2.2版本,支持多重配置文件同时配置,在不同的环境下,不同的配置文件生效。下面说一下如何配置可以达到效果。
1、dsp层:
a、eclipse(SVN)中的配置文件的配置
eclipse配置文件可以同在多套,如(分别为无前缀、online_前缀、test_前缀):
b、测试环境中的启动脚本的设置:
c、正式环境中的设置:
为正常的启动脚本,同b,但要去将方框里的改为 -Dproperties_active="online_"
这样同样的项目,使用测试环境的启动脚本与正式环境的启动脚本,这样就能使以test_/online_开头的文件生效。从而开发使用的是不带前缀的,测试环境使用的是test_前缀的文件,正式环境使用的是online_开头的文件
说明:
1) 每个环境下使用以什么样的文件前缀为自由定义,只要保证对应开头的文件存在 即可。
2) 目前rocketMQ 配置文件尚未纳入管理范围,目前dsp层仅支持这四个文件。
3) java类如果默认调不带前缀的配置文件,如果想调用带前缀的配置文件,请在启动的java类的main方法里,第一行加上
System.setProperty("properties_active","test_"); //这样支持调用 test_ 开头的配置文件。
2、dcp层:
a、eclipse(SVN)中的配置文件的配置
eclipse配置文件可以同在多套,如(分别为无前缀、online_前缀、test_前缀):
b、测试环境中的启动脚本的设置:
测试环境中使用tomcat脚本启动,在catalina.sh脚本中,找到所有的加启动参数的地方($JAVA_OPTS为参照对象),都加上一行脚本
c、正式环境中的设置:
为正常的启动脚本,同b,但要去将黑色方框里的改为 -Dproperties_active="online_"。
这样同样的项目,使用测试环境的启动脚本与正式环境的启动脚本,这样就能使以test_/online_开头的文件生效。从而开发使用的是不带前缀的,测试环境使用的是test_前缀的文件,正式环境使用的是online_开头的文件
说明:
1) 目前dcp层仅将这三个文件纳入管理 范围,其他的有需要再行添加。
2) 开发时,在eclipse中 dcp层目前使用的启动方式均为mvn tomcat:run, 如果想调用其他环境的配置文件,可以直接通过加参数的方式实现;
附件(底层所做的修改):
a) dsp/com,sitech.prm.dspframe.start.DspStart
b) dsp/spring-applicationContext.xml
c) dcp/新增类
d) dcp/spring-applicationContext.xml
e) dcp/springmvc-servlet.xml