开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

玛雅牛 / jfinal-schedulerJavaApache-2.0

Watch 75 Star 151 Fork 59
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
基于cron4j以及ScheduledThreadPoolExecutor实现的简单的任务调度插件。 展开 收起

取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

jfinal-scheduler插件

基于cron4j以及ScheduledThreadPoolExecutor实现的简单任务调度插件

插件启用方式(采用builder模式构建):

        SchedulerPlugin schedulerPlugin = SchedulerPlugin.builder()
                                                         .scheduledThreadPoolSize(10)
                                                         .enableAnnotationScan("com.test,com.abc")
                                                         .enableConfigFile("job.properties")
                                                         .build();
        me.add(schedulerPlugin);

使用方法: 在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);

在代码中通过注解配置

    @Cron("0 3 * * *")
    public class XmDataSyncJob implements Runnable {
        private static final Log LOG = Log.getLog(XmDataSyncJob.class);
    ……
    @FixedDelay(period = 60,initialDelay=60)
    public class MailSendJob implements Runnable {
    ……
    @FixedRate(period = 120,initialDelay=90)
    public class SmsSendJob implements Runnable {
    ……

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

#不需要在部署时调整的定时任务,可使用注解自动加载
#是否启用该任务
#testJob.enable=true
#任务类名
#testJob.class=com.wellbole.web.core.job.TestJob
#任务类型以及表达式
#testJob.type=cron
#testJob.expr=16 17 * * Mon

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

#每隔10秒(任务一个接着一个)执行一次
#testJob.type=fixedDelay
#testJob.period=10
#testJob.initialDelay=32

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

项目点评 ( 17 )

你可以在登录后,发表评论

搜索帮助

12_float_left_people 12_float_left_close