Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
(资料图片)
Apollo 与 properties 配置文件的功能相同,都可以设置参数。Apollo 的优点在于,可以实时修改参数的值,而不需要重启项目。
1 配置 Apollo
本地配置 Apollo 的方式参考:
Apollo本地快速部署
2 添加 Apollo 参数
在Apollo中添加参数:
param.cron_test1=0/5 * * * * ?param.cron_test2=0/5 * * * * ?
要实现 Apollo 对定时任务 cron 语句的热配置,需要使用ScheduledTaskRegistrar
。
具体方式如下:
@Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { Runnable runnable = () -> { System.out.println("cron_test:" + cron_test); }; Trigger trigger = triggerContext -> { CronTrigger cronTrigger = new CronTrigger(cron_test); return cronTrigger.nextExecutionTime(triggerContext); }; taskRegistrar.addTriggerTask(runnable , trigger ); } @Override public int getOrder() { return 0; }
完整项目地址:
GitHub地址:https://github.com/Snowstorm0/learn-apollo-cron
Gitee地址:https://gitee.com/Snowstorm0/learn-apollo-cron
在运行项目之前需要修改 resource/application.properties
中 apollo.meta
的值,将 localhost
替换为 apollo
的地址,端口号为 Eureka 的端口号(默认为8080)。
运行该项目,可以看到输出:
cron_test1:0/5 * * * * ?current_time1:10:53:13cron_test2:0/5 * * * * ?current_time2:10:53:13
在 Apollo 中将 cron 语句改为 0/10 * * * * ?
,不需要重启,即可看到项目的输出变为:
cron_test1:0/10 * * * * ?current_time2:10:54:05cron_test2:0/10 * * * * ?current_time1:10:54:05
关键词:

-
艺术 | 河南豫剧院青年团建团十周年经典剧目展演落幕,线上展播启动_环球热文6月24日,随着河南豫剧院青年团带来的《经典折子戏专场》演出在郑州大
-
最美职工|李其连:用30年干好一份工作_即时焦点“最美职工”档案李其连,56岁,1993年进入落陵煤矿参加工作,成为一名
-
江苏端午旅游总收入191.18亿元 同比增长108.6%观点网讯:6月25日,据江苏文旅厅,今年端午假期,江苏全省共接待国内
-
世界速讯:21三体综合征患儿案例(21三体综合征患儿)1、(1)21三体型:染色体组的核型为47XX(或XY)十21,占90~95%。2
-
高手,正在逃离银行股 天天速读这次巴菲特对银行股真的变心了
-
艺术 | 河南豫剧院青年团建团十周年经典剧目展演落幕,线上展播启动_环球热文
2023-06-26 11:52:25
-
最美职工|李其连:用30年干好一份工作_即时焦点
2023-06-26 12:01:21
-
江苏端午旅游总收入191.18亿元 同比增长108.6%
2023-06-26 12:01:05
-
世界速讯:21三体综合征患儿案例(21三体综合征患儿)
2023-06-26 12:01:08
-
高手,正在逃离银行股 天天速读
2023-06-26 11:50:09
即时推荐