jfinal-scheduler是一个基于cron4j以及ScheduledThreadPoolExecutor实现的极简的任务调度插件。极简体现在几个方便:1)自动根据CPU内核数设定调度线程数2)任务只需实现Runnable接口3)只支持cron表达式(最小单位分钟)/固定频率(时间单位固定为秒)/固定延迟(时间单位固定为秒)4)支持通过配置文件启动任务。插件只需一行代码加载。
如何配置(完全编程配置):
//初始化一个任务调度插件SchedulerPluginsp=newSchedulerPlugin();//初始化一个任务对象(只需实现Runnable接口即可)Runnabletask=newTestTask();//每隔10秒(固定延迟,相当于串行执行)执行一次//sp.fixedDelaySchedule(task,10);//每隔10秒(固定频率,频率高时相当于并行执行)执行一次//sp.fixedRateSchedule(task,10);//每隔1分钟执行一次sp.cronSchedule(task,"*****");//添加插件me.add(sp);如何配置(配置文件方式)://初始化一个任务调度插件,参数为配置文件名SchedulerPluginsp=newSchedulerPlugin("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=fixedRatetestJob.expr=10#每隔5秒(定延迟,任务一个接着一个)执行一次#testJob.type=fixedDelay#testJob.expr=5#job1.class=x.y.z.Runnable#jobTest.class=x.y.testRunnbale一般情况下若需要在部署时改变配置,建议使用配置文件配置。
评论