jfinal-schedulerJFinal極簡任務調度插件
jfinal-scheduler 是一個基于cron4j以及ScheduledThreadPoolExecutor實現的極簡的任務調度插件。
極簡體現在幾個方便:
1)自動根據CPU內核數設定調度線程數
2)任務只需實現Runnable接口
3)只支持cron表達式(最小單位分鐘)/固定頻率(時間單位固定為秒)/固定延遲(時間單位固定為秒)4)支持通過配置文件啟動任務。插件只需一行代碼加載。
如何配置(完全編程配置):
//初始化一個任務調度插件 SchedulerPlugin sp = new SchedulerPlugin(); //初始化一個任務對象(只需實現Runnable接口即可) Runnable task = new TestTask(); //每隔10秒(固定延遲,相當于串行執(zhí)行)執(zhí)行一次 //sp.fixedDelaySchedule(task, 10); //每隔10秒(固定頻率,頻率高時相當于并行執(zhí)行)執(zhí)行一次 //sp.fixedRateSchedule(task, 10); //每隔1分鐘執(zhí)行一次 sp.cronSchedule(task, "* * * * *"); //添加插件 me.add(sp);
//初始化一個任務調度插件,參數為配置文件名
SchedulerPlugin sp = new SchedulerPlugin("job.properties");
//添加插件
me.add(sp);
#是否啟用該任務 testJob.enable=true #任務類名 testJob.class=com.wellbole.web.core.TestTask #任務類型以及表達式 #testJob.type=cron #testJob.expr=* * * * * #每隔10秒(定頻率,每分鐘6次)執(zhí)行一次 testJob.type=fixedRate testJob.expr=10 #每隔5秒(定延遲,任務一個接著一個)執(zhí)行一次 #testJob.type=fixedDelay #testJob.expr=5 #job1.class=x.y.z.Runnable #jobTest.class=x.y.testRunnbale
一般情況下若需要在部署時改變配置,建議使用配置文件配置。
評論
圖片
表情
