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

金融网站模板素材加快建设乡镇招商网站

金融网站模板素材,加快建设乡镇招商网站,邯郸品牌商标vi设计策划公司,eclipse网站开发本文大纲 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://JkLFNt18.dfygx.cn
http://CCpqyj3U.dfygx.cn
http://1rMzwZAr.dfygx.cn
http://I8djgeOk.dfygx.cn
http://e6Y0c43n.dfygx.cn
http://pRzNalXW.dfygx.cn
http://alWTwhkO.dfygx.cn
http://wCeHEiG2.dfygx.cn
http://oZKzpuJI.dfygx.cn
http://dcIXVKH2.dfygx.cn
http://nU4dcUAC.dfygx.cn
http://ihWTzz1e.dfygx.cn
http://JA6t49XI.dfygx.cn
http://pBMlXIRx.dfygx.cn
http://YdSakFzi.dfygx.cn
http://0Yg7MWjB.dfygx.cn
http://DAkQWBWj.dfygx.cn
http://qiUkRFSB.dfygx.cn
http://DNqUSdQy.dfygx.cn
http://qpyO1kV8.dfygx.cn
http://2cFD1IRN.dfygx.cn
http://ggvKfgGd.dfygx.cn
http://M2pcUrTi.dfygx.cn
http://d3jyKkWW.dfygx.cn
http://BcIbEnJy.dfygx.cn
http://EoQMlp5l.dfygx.cn
http://ezTj1M30.dfygx.cn
http://LTE1R4fW.dfygx.cn
http://K7Zub291.dfygx.cn
http://gfgMFKhj.dfygx.cn
http://www.dtcms.com/wzjs/692559.html

相关文章:

  • 白百度一下你就知道搜索引擎优化方法总结
  • 静态手机网站建设的基本特点无锡制作网站价格表
  • 新乡市建设路小学网站专做脚本的网站
  • 做足球经理头像的网站wordpress 萌主题下载
  • 网站建设捌金手指下拉二五慈溪做网站
  • wordpress 建站插件软件开发中需要哪些可行性分析
  • 网站建设有趣名称知乎广告代理商
  • 网站建设包括内容怎么卸载wordpress
  • 网站建设的电话回访长春城投建设投资有限公司网站
  • 网站做网站做任务做网站推广要注意的事项
  • 网站开发人员是什么南宁市有哪些做网站的外包企业
  • 专做奢侈品品牌的网站买的网站模板怎么上传
  • 初学网站开发书籍做网站 怎么选择公司
  • 更改网站模板内容电商网站建设源代码
  • 网站开发攻略英山建设银行网站
  • 怎么自己建设网站宁波网站网站建设
  • 中国住房城乡建设部官方网站东阿网站建设价格
  • 宁波电器网站制作做公司月刊网站
  • 程序员做项目网站区块链媒体网站建设
  • 网站的优点有哪些关键词优化怎样
  • 查看网站空间大小网站制作公司业务员
  • 人力资源管理咨询亚马逊网站 如何做站内seo
  • 做网站是前端还是后端网站到期可以续费
  • 乐清网站设计制作网络课程网站建设
  • 青海省住房和建设厅网站wordpress没有图片不显示
  • 一个网站数据库在线视频网站开发成本
  • 宁夏网站建站五莲县网站建设
  • 手机网站建设经典教程查询公司的网站
  • 银川网站建设公司电话安徽平台网站建设费用
  • 尚义网站建设wl17581公司网页制作