快速接入easyconfig组件
使用前提
JAVA开发的企业应用,Spring作为开发框架,能非常方便简单地接入。 实际上,完成easyconfig接入和集成,只需要配置一个Spring bean和一个Java Servlet。
快速接入
接入easyconfig所需做的事情如下:
1. 获取单一JAR包,加入到您项目中
暂时还没有上传至maven仓库,麻烦你自己打包编译或者从releases中下载。
2.代码中属性标注无需改动
Spring应用通常采用**@Value("${prop.code:default}")的方式引入系统参数,引入easyconfig后无需改动**,就具备不用重启系统修改和刷新参数的能力。示意如下:
@ServicepublicclassCfgService{@Value("${test.url:http://localhost}")publicStringtest_url;intport;@EasyValue("${test.port:8080}")publicvoidsetPort(intport){this.port=port;}}
备注:
@Value是Spring内置的配参标注,仍然可以正常工作的,easyconfig为其赋能动态刷新能力。
@EasyValue是easyconfig提供的标注,内容形式、使用方式与@Value相同,具有额外属性更好地动态配参。easyconfig允许统一关闭@Value的动态刷新,而未给@EasyValue提供此种能力(没意义)。
field 和 setter方法上都可以放置标注。
3.配置属性自动刷新组件
基于你使用的Spring版本、项目风格及个人喜欢,选择两种方式之一,配置属性自动刷新组件。它是一个普通的、Spring容器管理的Bean对象。
方式一:代码配置
@BeanCfgContextEnvironmentAwarecfgContextEnvironmentAware(){returnnewCfgContextEnvironmentAware();}
方式二:XML配置
4.配置管理控制台Servlet
基于你使用的Spring版本、项目风格及个人喜欢,选择两种方式之一,配置配参管理控制台。它是一个普通的标准Servlet,负责配参的查看、修改等用户操作。
方式一:代码配置
@BeanpublicServletRegistrationBean
注:ServletRegistrationBean全称org.springframework.boot.web.servlet.ServletRegistrationBean,普通WEB工程可以使用下面方法二。
方式二:web.xml中配置
在web.xml文件中配参管理的servlet,形式与任意的servlet配置方式相同,如下所示:
以上是整合easyconfig所需的全部工作。
运行及验证
启动你的应用系统,目前已经具备动态配参管理的能力了。
/easyconfig-admin/home.html 是动态配参管理控制台的URL地址。注意{easyconfig-admin}保持与上一步servlet配置一致。
@EasyValue 、@Value标注的Bean对象属性,配参被更新后,系统内被标注的属性自动得到更新。
config_item_main 和 config_item_main_history 是easyconfig启动成功后,默认在你MySQL数据库中创建的两张表,用于记录配参和变更历史。
错误排查
上述工作如果不幸出现任何问题,请注意观察输出日志,通常会有提示信息。全部日志都在名字为“jm.easyconfig”的logger下面。
常见集成问题
常见集成问题请参考integration-guide。
更多信息
开发指南,用户指南,README