All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nutz.integration.quartz.QuartzManager Maven / Gradle / Ivy

There is a newer version: 1.r.69.v20220215
Show newest version
package org.nutz.integration.quartz;

import java.util.List;

import org.nutz.dao.pager.Pager;
import org.quartz.JobKey;
import org.quartz.Scheduler;
import org.quartz.Trigger.TriggerState;

/**
 * Quartz管理器,统管Job的增删改查操作
 * @author wendal
 *
 */
public interface QuartzManager {

    /**
     * 查询计划任务列表
     * @param namePatten 需要匹配的任务名,可以是null, 代表全匹配
     * @param groupPatten 需要匹配的任务组名,可以是null, 代表全匹配
     * @param pager 分页,可以是null
     * @return 符合条件的计划任务列表
     */
    List query(String namePatten, String groupPatten, Pager pager);

    /**
     * 清除一个Job
     */
    boolean delete(QuartzJob qj);

    /**
     * 清除一个Job
     */
    boolean delete(JobKey jobKey);

    /**
     * 添加一个新Job
     * @param name 任务名称
     * @param group 任务分组
     * @param cron 计划任务表达式
     * @param klass Job类
     */
    void add(String name, String group, String cron, Class klass);

    /**
     * 新增一个任务,如果存在就覆盖
     */
    void add(QuartzJob qj);

    /**
     * 是否存在特定的任务
     */
    boolean exist(QuartzJob qj);

    /**
     * 是否存在特定的任务
     */
    boolean exist(JobKey jobKey);

    /**
     * 恢复一个被暂停的任务
     */
    void resume(JobKey jobKey);

    /**
     * 恢复一个被暂停的任务
     */
    void resume(QuartzJob qj);

    /**
     * 清除所有的任务
     */
    void clear();

    /**
     * 暂停一个任务
     */
    void pause(QuartzJob qj);

    /**
     * 暂停一个任务
     */
    void pause(JobKey jobKey);

    /**
     * 触发一个中断, 对于的Job类必须实现InterruptableJob 
     */
    void interrupt(JobKey jobKey);

    /**
     * 触发一个中断, 对于的Job类必须实现InterruptableJob 
     */
    void interrupt(QuartzJob qj);

    /**
     * 获取一个Job的状态, 当前仅支持StdScheduler
     */
    TriggerState getState(QuartzJob qj);

    void setScheduler(Scheduler scheduler);
    
    QuartzJob fetch(String name, String group);

    //
    void cron(String cron, Class klass);
    
    void cron(String cron, Class klass, String name, String group);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy