快速接入easyconfig组件

快速接入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,负责配参的查看、修改等用户操作。

方式一:代码配置

@BeanpublicServletRegistrationBeancfgAdminServlet(){ServletRegistrationBeanbean=newServletRegistrationBean(newCfgAdminServlet(),"/easyconfig-admin/*");bean.setName("easyconfig-admin-servlet");returnbean;}

注:ServletRegistrationBean全称org.springframework.boot.web.servlet.ServletRegistrationBean,普通WEB工程可以使用下面方法二

方式二:web.xml中配置

web.xml文件中配参管理的servlet,形式与任意的servlet配置方式相同,如下所示:

easyconfig-admin-servletjm.easyconfig.CfgAdminServlet easyconfig-admin-servlet/easyconfig-admin/*

以上是整合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

你可能感兴趣的:(快速接入easyconfig组件)