Jfianl 自2.3版本后就整合了定时器到框架中,赞一个;

下面我来总结下自己使用cron4j到达定时效果的经验,不足之处还请见谅;

Cron4jPlugin是作为JFinal的Plugin而存在的,所以使用时需要在JFinalConfig中配置,如下是代码示例:

public void configPlugin(Plugins me) {

	    me.add(new Cron4jPlugin(PropKit.use("fcms_config_dev.txt")));//cms_config_dev.txt这是我的配置文件位置,为了方便管理,我把Cron4jPlugin的配置写在了那里
}
cms_config_dev.txt相关配置:我这边有两个定时任务,责需在cron4j添加名称用“,”隔开;
# cron4j 任务调度配置  ------------------------------------------
cron4j=pvUpdate,fileUpdate //cront4j是所谓的配置名称:configName,可以随便取名,这个名称在创建Cron4jPlugin对象时会被用到,如果创建Cron4jPlugin对象时不提供名称则默认值为 "cron4j
pvUpdate.cron=0 * * * * //.cron指该task的cron表达式
pvUpdate.class=com.daymooc.fcms.common.pageview.PageViewUpdateTask //要调度的目标java类
//pvUpdate.deamon=true //指被调度的任务线程是否为守护线程
pvUpdate.enable=true //指该task是开启还是停用,这个配置不是必须的,可以省略,省略时默认表示开启
fileUpdate.cron=*/10 * * * *
fileUpdate.class=com.daymooc.fcms.common.itemFileTask.itemFileTask
fileUpdate.enable=true

请注意,cron 表达式最多只允许五部分,每部分用空格分隔开来,这五部分从左到右依次表示分、时、天、月、周,其具体规则如下:

  • 分 :从 0 到 59

  • 时 :从 0 到 23

  • 天 :从 1 到 31,字母 L 可以表示月的最后一天

  • 月 :从 1 到 12,可以别名:jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov" and "dec"

  • 周 :从 0 到 6,0 表示周日,6 表示周六,可以使用别名: "sun", "mon", "tue", "wed", "thu", "fri" and "sat"

如上五部分的分、时、天、月、周又分别支持如下字符,其用法如下:

  • 数字 n:表示一个具体的时间点,例如 5 * * * * 表示 5 分这个时间点时执行

  • 逗号 , :表示指定多个数值,例如 3,5 * * * * 表示 3 和 5 分这两个时间点执行

  • 减号 -:表示范围,例如 1-3 * * * * 表示 1 分、2 分再到 3 分这三个时间点执行

  • 星号 *:表示每一个时间点,例如 * * * * * 表示每分钟执行

  • 除号 /:表示指定一个值的增加幅度。例如 */5表示每隔5分钟执行一次(序列:0:00, 0:05, 0:10, 0:15 等等)。再例如3-18/5 * * * * 是指在从3到18分钟值这个范围之中每隔5分钟执行一次(序列:0:03, 0:08, 0:13, 0:18, 1:03, 1:08 等等)。

调度的目标java类: 实现ITask类
package com.daymooc.fcms.common.itemFileTask;

import com.daymooc.fcms.common.model.ItemFile;
import com.daymooc.fcms.itemFile.ItemFileService;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.cron4j.ITask;
import org.apache.commons.lang.StringUtils; import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Date;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream; /**
* @ClassName itemFileTask
* @Description TODO 定时轮询附件表 添加查询关键字
* @Author mld
* @Date 2019/4/10 0010、下午 5:04
*/
public class itemFileTask implements ITask {
private ItemFileService itemFileService = new ItemFileService(); @Override
public void stop() { //任务调度结束时执行
System.out.println("定时结束轮询附件表"+new Date());
} @Override
public void run() { //任务调度开始时执行
System.out.println("定时开始轮询附件表"+new Date());
} }

完成,运行config文件;

参考文献:

https://www.jfinal.com/doc/9-2

  

Jfianl框架定时器使用配置的更多相关文章

  1. spring3定时器简单配置

    最近在做oa项目中写到一个功能,就是员工每天的签到和签退.当时想了很久都没有想出来,后来自己上网查了一下spring的定时器,然后就有了思路. 下面我贴上自己用到的这个定时器的配置.希望能够和大家一起 ...

  2. [spring-framework]Spring定时器的配置和使用

    开发中我们常常会做一些定时任务,这些任务有开始时间,并会按一定的周期或规则执行.如此我们在Java程序开发中使用定时器来处理定时任务. <!-- MessageRequestTask类中包含了m ...

  3. nginx location匹配顺序及CI框架的nginx配置

    Nginx location匹配顺序如下: 用前缀字符串定义的location规则对URI进行匹配测试. =号定义了精确的前缀字符串匹配,如果发现精确匹配则使用当前规则.否则继续下一步匹配. 匹配其它 ...

  4. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  5. Tomcat是什么:Tomcat与Java技、Tomcat与Web应用以及Tomcat基本框架及相关配置

    1.Tomcat是什么       Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java WEB应用服务器. 类似功能的还有:Jetty. ...

  6. CI框架伪静态化配置

    CI框架伪静态化配置 伪静态化,即:去掉入口的index.php, 在url后面加上 .html 后缀 CI默认的rewrite url中是类似这样的,例如你的CI根目录是在/CodeIgniter/ ...

  7. SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇

    SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇 - 若明天不见 - 博客频道 - CSDN.NEThttp://blog.csdn.net/why_still_conf ...

  8. Django框架 之 logging配置

    Django框架 之 logging配置 logging配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 ...

  9. C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志

    C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...

随机推荐

  1. [Luogu P2966][BZOJ 1774][USACO09DEC]牛收费路径Cow Toll Paths

    原题全英文的,粘贴个翻译题面,经过一定的修改. 跟所有人一样,农夫约翰以宁教我负天下牛,休叫天下牛负我的伟大精神,日日夜夜苦思生财之道.为了发财,他设置了一系列的规章制度,使得任何一只奶牛在农场中的道 ...

  2. oi回忆录

    堆在一起写成流水账好了,算是记录一下自己的oi历程.  [伊始] 一直到高中以前,我从来没有接触过任何oi相关的东西. 直到初三的那个暑假,在去金中报名的时候,报名表上面有一栏要填暑假想参加的夏令营. ...

  3. Linux二进制安装apache2.4.25

    Linux二进制安装apache2.4.25 安装环境:CentOS 6.2 先检查是否安装了Apache 如通是通过rpm包安装的话直接用下面的命令:rpm -q httpd 也可以使用如下两种方法 ...

  4. React(17)异步组件

    26.异步组件当在React里使用异步组件时,核心知识是两个: webpack 如何异步加载其他模块:通过 require(['xxx'], function(module){})来实现:React ...

  5. nginx Access-Control-Allow-Origin 多域名跨域设置

    2019-1-16 12:24:15 星期三 网站的静态文件(js, css, 图片, 字体等)是在一个单独的域名下的, 为了防止非法访问, 给nginx添加了跨域的控制, 也可以在PHP代码中添加 ...

  6. SpringBoot 上传文件夹

    前端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  7. 总结fiddle

    fiddler重新发送请求   模拟限速 http://caibaojian.com/fiddler.html fiddler模拟限速的原理 我们可以通过fiddler来模拟限速,因为fiddler本 ...

  8. linux下c通过虚拟地址映射读写文件的代码

    在代码过程中中,把开发过程中比较好的一些代码片段记录起来,如下的代码内容是关于 linux下c通过虚拟地址映射读写文件的代码,应该对小伙伴有些好处.#include<stdio.h>#in ...

  9. FreeRTOS 启动进程调度后,程序卡死的部分原因分析。

    现象:1,RTOS  使用时 系统卡启动文件               B       .处. 原因分析:该种情况是由于定义开启了中断,但是未开启中断处理服务.程序执行到中断响应式无对应的程序响应 ...

  10. 基于keil平台下STM32L系列移植FreeRTOS操作系统

    1,下载FreeRTOS https://www.freertos.org/a00104.html 点击下载后,会进入如下界面 之后会弹出下载界面,格式为.EXE,不用怀疑.不是木马. 等待下载完成, ...