数据库加载定时任务Cron4jPlugin

按照大佬分享的定时任务调度,加入从数据库加载定时任务JFinal使用技巧-动态管理任务调度  

  1. 插件 MyCron4jPlugin,启动的时候从数据库加载任务

public class MyCron4jPlugin extends Cron4jPlugin {
    @Override
    public boolean start() {
        loadTasksFromDb();
        Cron4jKit.start();
        System.out.println("加载定时任务插件并启动....");
        return true;
    }
    @Override
    public boolean stop() {
        Cron4jKit.stop();
        return true;
    }

    /**
     * 从数据库加载任务
     */
    public void loadTasksFromDb() {
        try {
            List<SxSysRunnable> runnableList = SxSysRunnable.me.list();
            for (SxSysRunnable t:runnableList) {
                Object jobObj = Class.forName(t.getStr("class_name")).newInstance();
                Cron4jKit.put(t.getStr("config_name"),t.getStr("cron"),true,(Runnable) jobObj);
                System.out.println("加载定时器:"+t.getStr("class_name"));
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        }
    }
}

2.

评论区

JFinal

2025-05-28 22:15

收藏一波,后面用上,谢谢分享

热门分享

扫码入社