Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
(相关资料图)
Apollo 与 properties 配置文件的功能相同,都可以设置参数。Apollo 的优点在于,可以实时修改参数的值,而不需要重启项目。
本地配置 Apollo 的方式参考:
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
X 关闭
2021年北向资金流入超4300亿元 外资热情拥抱中国资产
尽管面临疫情反复等多重不利因素,外资在2...北交所董事长徐明:北交所成立以来股票平均上涨98.9%
北京证券交易所董事长徐明8日表示,北交所...宁吉喆:2021年中国GDP将连续第二年超百万亿元
中国国家发改委副主任兼中国国家统计局...中国黄金消费市场渐回暖 “古法金”饰品获年轻消费者青睐
2022世界珠宝发展大会正在海口举行。8日在...观察:中国首条民营控股高铁开通之“时”与“势”
杭台高铁首趟列车即将发车。张煜欢摄1月8...中国生态环境保护实现“十四五”起步之年良好开局
中国生态环境部7日在北京召开2022年全国...人社部发布信用管理师国家职业技能标准
近日,人力资源和社会保障部对外发布了《...云南永善佛滩顺河梯级电站全面推进建设
日前,云南省永善县顺河村举行了佛滩顺河...中老铁路的背后 “税务专车”一路同行
2021年12月3日中老铁路正式开通运营,仅需...哈啰出行投资成立装饰工程公司 注册资本200万元
企查查APP显示,3月18日,上海钧住装饰工程有限公司成立,法定代表...Copyright © 2015-2022 南方建筑工程网版权所有 备案号:粤ICP备18023326号-21 联系邮箱:855 729 8@qq.com