文档章节

jfinal-scheduler 极简JFinal任务插件

玛雅牛
 玛雅牛
发布于 2015/08/05 21:01
字数 332
阅读 5718
收藏 22

jfinal-scheduler 是 基于cron4j以及ScheduledThreadPoolExecutor实现的简单的任务调度插件。

插件git@osc地址:

https://git.oschina.net/myaniu/jfinal-scheduler

极简体现在几个方便:

1)自动根据CPU内核数设定调度线程数(也可以指定线程数)
2)任务只需实现Runnable接口
3)只支持cron表达式(最小单位分钟)/固定频率(时间单位固定为秒)/固定延迟(时间单位固定为秒)
4)支持通过配置文件启动任务。插件只需一行代码加载。

使用方法: 加载dist目录下的jfinal-scheduler-1.3.0.jar插件

在JFinal的Config配置文件中配置(编码加载)

@Override
    public void configPlugin(Plugins me) {
        SchedulerPlugin sp = new SchedulerPlugin();
        Runnable task = new TestTask();
        //每隔10秒执行一次
        //sp.fixedDelaySchedule(task, 10);
        //sp.fixedRateSchedule(task, 10);
        //每隔1分钟执行一次
        sp.cronSchedule(task, "* * * * *");
        me.add(sp);

在JFinal的Config配置文件中配置(通过配置文件加载)

@Override
    public void configPlugin(Plugins me) {
        SchedulerPlugin sp = new SchedulerPlugin("job.properties");
        me.add(sp);

job.properties

#是否启用该任务
testJob.enable=true
#任务类名
testJob.class=com.wellbole.web.core.TestTask
#任务类型以及表达式
#testJob.type=cron
#testJob.expr=* * * * *

#每隔10秒(每分钟6次)执行一次
testJob.type=fixedRate
testJob.expr=10

#每隔5秒(任务一个接着一个)执行一次
#testJob.type=fixedDelay
#testJob.expr=5

#job1.class=x.y.z.Runnable
#...

© 著作权归作者所有

玛雅牛

玛雅牛

粉丝 489
博文 114
码字总数 28117
作品 4
西安
高级程序员
私信 提问
加载中

评论(21)

StormFour
StormFour

引用来自“JFinal”的评论

玛雅出品,必是精品 79
@JFinal fixedDelay fixedRate 支持秒 这功能很实用。可以考虑集成到jfinal中啊,填补现在定时任务的不足😁
K
KingCy
请问下有maven吗?
刘鱼肥
刘鱼肥

引用来自“DENGS”的评论

你好,固定时间执行,配制怎么写? 如在每天23:30:00 执行

引用来自“玛雅牛”的评论

这个插件使用cron4j实现固定时间执行,cron4j使用了呵Linux下cron任务同样的规则,你可以看看cron4j的官方文档或者linux下cron的写法。
0 23 * * *
玛雅牛
玛雅牛 博主

引用来自“DENGS”的评论

你好,固定时间执行,配制怎么写? 如在每天23:30:00 执行
这个插件使用cron4j实现固定时间执行,cron4j使用了呵Linux下cron任务同样的规则,你可以看看cron4j的官方文档或者linux下cron的写法。
D
DENGS
你好,固定时间执行,配制怎么写? 如在每天23:30:00 执行
玛雅牛
玛雅牛 博主

引用来自“Jesse001”的评论

Sorry,是我tomcat配置有问题,启动时项目重复加载了

引用来自“Sohnny”的评论

你好,我的也是这问题,请问下你是怎么解决的?
0
参见波总写的博客:
https://my.oschina.net/jfinal/blog/353062
Sohnny
Sohnny

引用来自“Jesse001”的评论

Sorry,是我tomcat配置有问题,启动时项目重复加载了
你好,我的也是这问题,请问下你是怎么解决的?
0
J
Jesse001
Sorry,是我tomcat配置有问题,启动时项目重复加载了
J
Jesse001
我的代码,每天0点执行任务:
SchedulerPlugin sp = new SchedulerPlugin();
CheckRunnable task = new CheckRunnable();
sp.cronSchedule(task, "0 0 * * *");
me.add(sp);

放在本地运行正常,但放在服务器上,0点的时候会执行两次任务
玛雅牛
玛雅牛 博主

引用来自“Gaodler”的评论

只能设置时间间隔,不能根据时间点调度么?
支持啊,通过cron4j实现的。
JFinal 3.4 发布,将极速贯彻到 UI 层

jfinal 的终极目标是全面实现软件开发整个过程的极速开发,极大提升开发效率,极大降低学习成本,极大提升开发体验 jfinal 诞生头五年,已实现 WEB + ORM + AOP 层面的极速开发,赢得了大量开...

JFinal
2018/04/28
17.6K
136
学JFinal不迷路,JFinal优质资源列表(欢迎反馈更新)

学JFinal不迷路,记录一下JFinal相关的资源、产品、讲师等信息(所有信息排名不分先后)。 一、相关站点: 1、JFinal官网-问答、分享、文档、交流、俱乐部 http://www.jfinal.com 2 、JFina...

山东-小木
05/25
428
0
JFinal Extensions 1.0 发布,JFinal 扩展

Jfinal-ext是对java极速web框架 jfinal 的一个扩充,主要利用jfinal的plugin机制集成各种第三方框架,像spring一样,简化开发者的学习应用成本,使用时请将jfinal.jar先引入工程。 Jfinal-e...

绝望的八皮
2012/10/14
1K
13
JFinal/jfinal-undertow

jfinal-undertow 项目介绍 jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目。独创 HotSwapClassLoader + HotSwapWatcher 以 319 行代码极简实现热加载开发与部署,前无古人,后必有...

JFinal
2018/11/28
0
0
JFinal Weixin 2.3 发布,支持微信小程序开发

jfinal weixin 项目早在五年前就发布了第一个版本,是老牌的微信公众号开发 SDK,已稳定、可靠服役多年。因为极简设计、良好的开发体验,所以深受开发者的喜爱。 五年来 jfinal weixin 一直紧...

JFinal
02/01
2.3K
6

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部