之前一直使用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-