之前一直使用spring quartz感觉还挺好用的,就想着jfinal是不是也可以使用quartz插件,于是发现了QuartzPlugin和jfinal-scheduler<参考:https://www.oschina.net/p/jfinal-scheduler>,

都挺好用的,本文章简单讲解一下QuartzPlugin的使用。----jstarseven

首先添加maven依赖:

 <!--jfinal quartz 定时任务-->
<dependency>
<groupId>cn.dreampie</groupId>
<artifactId>jfinal-quartz</artifactId>
<version>0.2</version>
</dependency>

新建定时任务类:TestQuartzJobOne

 package com.web.code.job;

 import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; import java.util.Date; /**
* Created by jstarseven on 2017/2/4.
*/
public class TestQuartzJobOne implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("this is test job one " + new Date());
}
}

新建定时任务类:TestQuartzJobTwo

 package com.web.code.job;

 import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; import java.util.Date; /**
* Created by jstarseven on 2017/2/4.
*/
public class TestQuartzJobTwo implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("this is test job two " + new Date());
}
}

新建配置文件:system-quartz.properties<至于具体cron配置,请参考cron表达式>

配置如下:

job.channel_one.class=com.web.code.job.TestQuartzJobOne
job.channel_one.group=default
job.channel_one.id=1
job.channel_one.cron=*/2 * * * * ?
job.channel_one.enable=true job.channel_two.class=com.web.code.job.TestQuartzJobTwo
job.channel_two.group=default
job.channel_two.id=2
job.channel_two.cron=*/2 * * * * ?
job.channel_two.enable=true

在jfinal的configPlugin中添加QuartzPlugin代码:如下

 QuartzPlugin quartzPlugin = new QuartzPlugin();
quartzPlugin.setJobs("system-quartz.properties");
me.add(quartzPlugin);
baseConfigLog.info("---------------------Quartz Plugin config load over !--------------------");

ok,结束了,启动jfinal程序之后,即可看见效果,是不是很简单。


-END-

Jfinal QuartzPlugin 简单使用案例的更多相关文章

  1. 简单登录案例(SharedPreferences存储账户信息)&联网请求图片并下载到SD卡(文件外部存储)

    新人刚学习Android两周,写一个随笔算是对两周学习成果的巩固,不足之处欢迎各位建议和完善. 这次写的是一个简单登录案例,大概功能如下: 注册的账户信息用SharedPreferences存储: 登 ...

  2. MyBatis学习总结(一)简单入门案例

    MyBatis学习总结(一)简单入门案例 主要内容:本文主要通过对数据库中的use表进行增删改查总结mybatis的环境搭建和基本入门使用 一.需要的jar包: 1.核心包 2.依赖包 3.jdbc数 ...

  3. 一个简单的案例带你入门Dubbo分布式框架

    相信有很多小伙伴都知道,dubbo是一个分布式.高性能.透明化的RPC服务框架,提供服务自动注册.自动发现等高效服务治理方案,dubbo的中文文档也是非常全的,中文文档可以参考这里dubbo.io.由 ...

  4. solr简单搜索案例

    solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...

  5. springcloud+eureka简单入门案例

    springcloud+eureka简单入门案例 一.服务提供者 直接提供服务,入门案例没有特别要设置的地方,注意下端口,由于要启动多个服务,可能会冲突 配置文件(src/main/resources ...

  6. Python 简单爬虫案例

    Python 简单爬虫案例 import requests url = "https://www.sogou.com/web" # 封装参数 wd = input('enter a ...

  7. arduino中SCoop库的简单应用案例

    转载:https://www.csdn.net/gather_27/MtTaggzsMDExMS1ibG9n.html arduino中SCoop库的简单应用案例首先这篇文章来在视频https://v ...

  8. ReentrantReadWriteLock读写锁简单原理案例证明

    ReentrantReadWriteLock存在原因? 我们知道List的实现类ArrayList,LinkedList都是非线程安全的,Vector类通过用synchronized修饰方法保证了Li ...

  9. redux 的简单实用案例

    redux 的简单实用案例 整体思想与结构 创建一个Action 创建一个Reducer 创建Store 在App组件开始使用 整体思想与结构 文件目录如下: 构建 action,通过创建一个函数,然 ...

随机推荐

  1. Curator之Recipes之锁

    转载自:https://blog.csdn.net/kiss_the_sun/article/details/50221463 参考文档: http://ifeve.com/java_lock_see ...

  2. TinyMCE Editor

    TinyMCE Editor(https://www.tinymce.com/features/) is an online text editor, it is used to write post ...

  3. phpwind部署问题

    1. 提示"PDO_Mysql 未安装" wamp安装后,首选确保在wamp/php/ext/目录下存在"php_pdo.dll"和"php_pdo_ ...

  4. c简单的单向链表

    ps:list链表  node节点 在链表中节点就是一个个的结构体 堆空间由于在申请内存时,地址是随机的,所以要用链表的方式将其连接起来,但是链表头的地址要知道. 每个节点包含两个部分:数据区和地址区 ...

  5. 你真的会Xilinx FPGA的复位吗?

    Get Smart About Reset: Think Local, Not Global. 对于复位信号的处理,为了方便我们习惯上采用全局复位,博主在很长一段时间内都是将复位信号作为一个I/O口, ...

  6. LCA tarjan+并查集POJ1470

    LCA tarjan+并查集POJ1470 https://www.cnblogs.com/JVxie/p/4854719.html 不错的一篇博客啊,让我觉得LCA这么高大上的算法不是很难啊,嘻嘻嘻 ...

  7. SRM482

    250pt 题意:给定n把锁,第i轮每间隔i个打开一个木有打开的.问最后打开的事几 思路:直接vector模拟 code: #line 7 "LockersDivOne.cpp" ...

  8. shell 命令 ls -a

    接手其他人的shell脚本时,遇到了一个"."开头的文件目录, ll 始终找不到. 咨询了一下,才知道,"."开头的是隐藏文件. 这时候用 ll -a 或 ls ...

  9. Delphi 内进行音量控制及静音

    unit UMute; interface uses MMSystem, Dialogs; Type   TDeviceName = (Master, Microphone, WaveOut, Syn ...

  10. XML hexadecimal value 0x__, is an invalid character

    XML操作时异常:(十六进制值 0x__) 是无效的字符. 方法一: 设置 CheckCharacters=false. XmlReaderSettings xmlReaderSettings = n ...