jfinal框架定时任务

253 阅读1分钟

1、配置文件

corn4j = day_task,week_task                                         //多个定时任务用,隔开
#每半小时执行一次
day_task.cron = 0,30 0-23 * * *                                     //cron4表达式定义参见JFinal官网
day_task.class = com.jtsmartway.zhgsgl.core.weather.DayTask         //定时任务所在类
day_task.daemon = true                                              //是否为守护线程
day_task.enable = true                                              //是否开启,默认是true
# 每一小时执行一次
week_task.cron = 0 0-23 * * *
week_task.class = com.jtsmartway.zhgsgl.core.weather.WeekTask
week_task.daemon = true
week_task.enable = true

2、配置类

public class MonitorConfig extends JFinalConfig {
    private static final Logger LOG = LoggerFactory.getLogger(JFinalConfig.class);
    @Override
    public void configConstant(Constants me) {}
​
    @Override
    public void configRoute(Routes me) {}
​
    @Override
    public void configEngine(Engine me) {}
​
    @Override
    public void configInterceptor(Interceptors me) {}
​
    @Override
    public void configHandler(Handlers me) {}
​
    @Override
    public void configPlugin(Plugins me) {
        //配置定时任务
        Cron4jPlugin cron4jPlugin = new Cron4jPlugin(PropKit.use("join_config.properties"), "corn4j");
        me.add(cron4jPlugin);
    }
​
    @Override
    public void onStart() {}
}

3、定时任务实现类

public class DayTask implements Runnable {
    private static final Logger logger = LoggerFactory.getLogger(DayTask.class);
    
    @Override
    public void run() {
        .........
    }
}
​
public class WeekTask  implements Runnable {
    private static final Logger logger = LoggerFactory.getLogger(MonthTask.class);
    @Override
    public void run() {
      ..........
    }
}
​