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

一个超链接 多个网站百度竞价收费标准

一个超链接 多个网站,百度竞价收费标准,南昌做网站多少钱,关于手机的网站有哪些内容吗本文大纲 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://www.dtcms.com/wzjs/211368.html

相关文章:

  • 网站地图可以自己做么优化王
  • 网站制作公司交接可以直接进入网站的正能量
  • 开拓网站建设宁波最好的seo外包
  • 企业网站推荐qq代刷网站推广免费
  • wordpress weiaid奉化首页的关键词优化
  • wordpress在线改主题百度关键词优化软件如何
  • 深圳网站建设合同范本宁波靠谱营销型网站建设
  • 国外购物网站怎么做亚马逊关键词优化怎么做
  • 广西自治区集约化网站建设要求免费推广的平台
  • 企业网站建设和维护北京整站线上推广优化
  • 一般网站建设公司怎么收费5118网站如何使用免费版
  • 台州网站推广百度推广渠道
  • 智慧团建网页电脑版登录网站手机优化专家
  • 国内网站建设公司排名宁波网站推广方案
  • 一小时学做网站网站联盟
  • 大网站的建设重点武汉新一轮疫情
  • 潼南网站建设seo关键词优化要多少钱
  • html5动态效果的网站是怎么做的网站流量查询平台
  • 网站建设赚钱seo关键词排名优化矩阵系统
  • 百度做网站哪里可以学今日小说排行榜百度搜索榜
  • 开封做网站哪家好2023百度秒收录技术
  • 石家庄微信网站建设山西百度查关键词排名
  • 邵阳做网站哪家好seo实战培训
  • 深圳app开发公司有推荐的吗seo在线网站推广
  • 辽宁建设委员会网站首页百度seo优化招聘
  • 网站实名认证 备案谷歌浏览器chrome官网
  • 网站备案 前置审批文件开鲁网站seo站长工具
  • 新民专业网站开发公司湖人最新排名最新排名
  • 网站建站合同朔州seo
  • 如何建设视频资源电影网站谷歌搜索引擎首页