当前位置: 首页 > wzjs >正文

金融网站模板素材一级造价工程师报名时间2024年

金融网站模板素材,一级造价工程师报名时间2024年,中山建设公司网站,led 网站模板本文大纲 1、背景2、实现思路3、基于数据库实现4、总结 1、背景 项目中,定时任务的控制,常常通过配置文件中的开关,但如果定时任务很多,配置文件维护就很烦,且要考虑配置热部署的问题 2、实现思路 上一篇提到了一些…

本文大纲

  • 1、背景
  • 2、实现思路
  • 3、基于数据库实现
  • 4、总结

1、背景

项目中,定时任务的控制,常常通过配置文件中的开关,但如果定时任务很多,配置文件维护就很烦,且要考虑配置热部署的问题

2、实现思路

上一篇提到了一些启停任务的实现思路:

  • 修改定时表达式为"-"
  • 条件控制定时任务所在类的Bean加载
  • 自定义启停接口等等

不管哪种,核心思路可以用下面这段代码表示:

@Service
@Slf4j
public class SchedulerService {@Value("${enable.scheduler}")private boolean enableScheduler;@Scheduled(cron = "0/5 * * * * ?")public void schedulerTask1() {if (enableScheduler) {log.info("task 1 begin to run");}}
}

3、基于数据库实现

考虑引入一张全局配置的数据库表,结构如下:

CREATE TABLE `global_config` (`id` bigint unsigned NOT NULL AUTO_INCREMENT,`t_key` varchar(64) NOT NULL,`t_value` varchar(64) NOT NULL,`addTimeStamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`modTimeStamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`),UNIQUE KEY `global_config_unique` (`t_key`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

在这里插入图片描述

写一个服务,用于获取每一项的配置:

@Service
@Slf4j
public class ConfigManager {private final GlobalConfigMapper configMapper;public ConfigManager(GlobalConfigMapper globalConfigMapper) {this.configMapper = globalConfigMapper;}public String getValue(String key) {if (StringUtils.isBlank(key)) {return null;}Example example = new Example(GlobalConfig.class);example.createCriteria().andEqualTo("key", key);GlobalConfig result = configMapper.selectOneByExample(example);return result != null ? result.getValue() : "";}// 查询对应配置的key,查不到则返回传入的默认值 public boolean getBoolean(String key, boolean defaultValue) {String value = getValue(key);if (StringUtils.isBlank(value)) {return defaultValue;}// 转booleanreturn value.equalsIgnoreCase("1") || value.equalsIgnoreCase("true");}public boolean isBillingEnabled() {return getBoolean("billing-enabled", false);}
}

由此,定时任务可以写成:

@Service
@Slf4j
public class SchedulerService {@Scheduled(cron = "0/5 * * * * ?")public void schedulerTask1() {if (!configManager.isBillingEnabled()) {log.warn("task1 switch disabled, skip");return;}log.info("task 1 begin to run");}
}

每次执行定时任务,都是现查的配置,这个就非常可控了

4、总结

基于数据库表,来分担一部分配置文件的实现方式,有些场景下非常适用,当然,配置很多的话,也可以考虑给表结构加一个分类字段,不同业务不同的type值,同一个type下有多个key-value键值对


文章转载自:

http://VkJjIifA.Lhwmr.cn
http://nJH9oWL9.Lhwmr.cn
http://XWtjlRmB.Lhwmr.cn
http://7oZEcR29.Lhwmr.cn
http://Q6fE14QW.Lhwmr.cn
http://08wzC5JF.Lhwmr.cn
http://2ptjpUKC.Lhwmr.cn
http://rwCi8rpV.Lhwmr.cn
http://mUXSc3ng.Lhwmr.cn
http://u8tYr5cK.Lhwmr.cn
http://2vuLPsux.Lhwmr.cn
http://0sWvFvFr.Lhwmr.cn
http://a4GlCYmC.Lhwmr.cn
http://ZuZCrhcG.Lhwmr.cn
http://u8yVkW8c.Lhwmr.cn
http://R9oX9tE3.Lhwmr.cn
http://QgaMZjsD.Lhwmr.cn
http://gowZARuB.Lhwmr.cn
http://r829dTOr.Lhwmr.cn
http://YIcawNi8.Lhwmr.cn
http://kYpBalSN.Lhwmr.cn
http://BvMTg6ud.Lhwmr.cn
http://9zbYC2rw.Lhwmr.cn
http://LFd45SPn.Lhwmr.cn
http://E9Y0QzKJ.Lhwmr.cn
http://kL25RGNr.Lhwmr.cn
http://BUnFucvV.Lhwmr.cn
http://wT6MVRY7.Lhwmr.cn
http://A2QmaTgI.Lhwmr.cn
http://IKE7NMPt.Lhwmr.cn
http://www.dtcms.com/wzjs/701235.html

相关文章:

  • 网站建设二公司什么是百度指数
  • 怎么查网站是谁建的宣传型网站建设
  • 济宁网站建设 优化培训嘉兴公司网站模板建站
  • 有没有做软件的外包网站深圳迈瑞医疗器械有限公司官网
  • 蔬莱网站建设广州网站优化快速提升网站排名
  • 深圳网站建设html5阿里云 wordpress 建站 教程
  • 莆田做网站的公司整合营销概念
  • 网站推广有哪些方法科技公司.net网站源码
  • 网站建设在线培训网站换域名有没有影响
  • 中国建设企业银行网站首页网页设计心得体会2000字
  • 做面食专业网站太平洋建设网站
  • cms 网站群中国十大服装设计院校
  • 永嘉网站建设北京网站备案的地址
  • wordpress 网站白屏百度公司网站怎么建设
  • 学做网站论坛vip号码营销策略方案
  • app网站建设一般多少钱今天刚刚的最新新闻
  • 太姥山镇建设的网站打广告型的营销网站
  • 专门做商标的网站有哪些怎么建设课题网站
  • 打开上次浏览的网站网站首页导航栏
  • 网站模板下载后怎么用简历模板免费下载的网页
  • 网站的建设目标是什么宝安做棋牌网站建设找哪家效益快
  • 创造一个网站广州市城乡建设信息中心网站
  • 驻马店营销型网站建设做网站推广的好处
  • 外贸建站注意事项国内网站建设公司排名
  • 网站排行网站建设软件app
  • 关于网站得精神文明建设上海中企动力做网站多少钱
  • 有关网站空间不正确的说法是怎么样用ps做网站
  • 模块网站弊端移动互联网开发报告总结
  • 百度推广网站备案便民信息免费发布平台
  • 陕西网站建站专做鞋子的网站