定时任务框架

定时任务框架

  • 目录
    • 概述
      • 需求:
    • 设计思路
    • 实现思路分析
      • 1.corn 表达式
      • 2.数据库式样的定时器
      • quartzs
      • timer scher:
      • 使用线程:
    • 拓展实现
    • 性能参数测试:
  • 参考资料和推荐阅读

Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.

目录

在这里插入图片描述

概述

定时的任务的的框架的也是非常常见的需求。

需求:

1.定时器选型

设计思路

定时器分别对应的最简单的就是:
使用cron 表达式做处理

实现思路分析

1.corn 表达式

这个是最常见的使用,也是我14 年接触做cosp 的时候,完成的。
秒 分钟 小时 日 月
星期 年
主要是corn 表达式的使用

2.数据库式样的定时器

数据库定时器的将表达式封装在内部,了

quartzs

通过job的方式完成定时器的设置,也是在2015年遇到的。
定义触发器Trigger并与job绑定

@Scheduled注解是最简单的方式,只需要启用定时器,在方法上添加注解即可。

在spring配置中加入:

1
2
3
4
5
6
7
8


在要具体的方法上加入注解@Scheduled

@Scheduled(cron = "0 0 * * * ? ")
public void myTask(){
//定时任务…
}

timer scher:

使用Timer的schedule,schedule有3个参数:

schedule(TimerTask task, long delay, long period)
第一个为定时任务,根据业务需要重写TimerTask的run方法即可;

第二个为延时启动,单位毫秒;

第三个位多久运行一次,单位毫秒;

使用线程:

使用线程来控制就更灵活一些,可以根据自己的需要判断什么时候运行,什么时候停止,这需要对java的线程有一定的了解。

拓展实现

这里参考:github:简单实现上述流程:
入门级实现:
: 部分源码实现.
: 源码实现

性能参数测试:

参考资料和推荐阅读

  1. 推荐阅读.

欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~

你可能感兴趣的:(【原则-模式-架构】,java,开发语言)