当前位置:主页聚焦 > > 正文

Apollo实现cron语句的热配置-环球关注

时间: 2023-03-31 06:26:31 来源: 腾讯云

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.propertiesapollo.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

关键词:

相关文章

Apollo实现cron语句的热配置-环球关注

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且

来源:腾讯云2023-03-31

关爱礼品通使用范围

关爱礼品通使用范围,爱奇艺桔豆,在爱河中是一个很不错的选择,爱的表示,爱自然是必不可少的。那么这里就为您介绍一份爱慕的礼

来源:太平洋礼物网2023-03-31

龙光集团2022年收入416.23亿 权益股东应占亏损85.24亿_世界消息

观点网讯:3月30日,龙光集团有限公司发布2022年全年业绩。据观点新媒体了解,龙光集团2022年收入为人民币416 23亿元,同比下降46 8%,主要是由

来源:观点网2023-03-31

开拓药业公布2022年度业绩:持续深耕差异化创新,皮科管线表现亮眼|全球即时看

苏州2023年3月31日 美通社 --北京时间2023年3月30日,开拓药业(股票代码:9939 HK),一家专注于潜在同类首创和同类最佳创新药物研发及产

来源:财报速递2023-03-31

为什么你应该在浴室里放蜡纸

说到浴室清洁产品,您可能已经在家里得到了通常的产品。有多用途喷雾剂,海绵和玻璃清洁剂。但您可能还想在混合物中添加一些蜡纸

来源:互联网2023-03-30