Quartz(4-Listener)

相关文章链接

  1. 定时任务工具类(Cron Util)
  2. SpringBoot Task
  3. Quartz(1-Job)
  4. Quartz(2-Trigger)
  5. Quartz(3-Scheduler)
  6. Quartz(4-Listener)

ListenerManager

可以通过ListenerManager向scheduler中添加我们的监听器

public interface ListenerManager {
   
   

    public void addJobListener(JobListener jobListener);

    public void addJobListener(JobListener jobListener, Matcher<JobKey> matcher);

    public void addJobListener(JobListener jobListener, Matcher<JobKey> ... matchers);

    public void addJobListener(JobListener jobListener, List<Matcher<JobKey>> matchers);

    public boolean addJobListenerMatcher(String listenerName, Matcher<JobKey> matcher);

    public boolean removeJobListenerMatcher(String listenerName, Matcher<JobKey> matcher);

    public boolean setJobListenerMatchers(String listenerName, List<Matcher<JobKey>> matchers);

    public List<Matcher<JobKey>> getJobListenerMatchers(String listenerName);

    public boolean removeJobListener(String name);

    public List<JobListener> getJobListeners();

    public JobListener getJobListener(String name);

    public void addTriggerListener(TriggerListener triggerListener);

    public void addTriggerListener(TriggerListener triggerListener, Matcher<TriggerKey> matcher);

    public void addTriggerListener(TriggerListener triggerListener, Matcher<TriggerKey> ... matchers);

    public void addTriggerListener(TriggerListener triggerListener, List<Matcher<TriggerKey>> matchers);

    public boolean addTriggerListenerMatcher(String listenerName, Matcher<TriggerKey> matcher);

    public boolean removeTriggerListenerMatcher(String listenerName, Matcher<TriggerKey> matcher);

    public boolean setTriggerListenerMatchers(String listenerName, List<Matcher<TriggerKey>> matchers);

    public List<Matcher<TriggerKey>> getTriggerListenerMatchers( String listenerName);

    public boolean removeTriggerListener(String name);

    public List<TriggerListener> getTriggerListeners();

    public TriggerListener getTriggerListener(String name);

    public void addSchedulerListener(SchedulerListener schedulerListener);

    public boolean removeSchedulerListener(SchedulerListener schedulerListener);

    public List<SchedulerListener> getSchedulerListeners();
}

Matcher

KeyMatcher

根据JobKey进行匹配,每个JobDetail都有一个对应的JobKey,里面存储了JobName和JobGroup来定位唯一的JobDetail

//构造匹配pickNewsJob中的JobKey的keyMatcher。
KeyMatcher<JobKey> keyMatcher = KeyMatcher.keyEquals(pickNewsJob.getKey());
//通过这句完成我们监听器对pickNewsJob的唯一监听
scheduler.getListenerManager().addJobListener(myJobListener, keyMatcher);

GroupMatcher

根据组名信息匹配

GroupMatcher<JobKey> groupMatcher1 = GroupMatcher.jobGroupContains("group1");//包含特定字符串
GroupMatcher<JobKey> groupMatcher2 = GroupMatcher.groupEndsWith("oup1");//以特定字符串结尾
GroupMatcher<JobKey> groupMatcher3 = GroupMatcher.groupEquals("jgroup1");//以特定字符串完全匹配
GroupMatcher<JobKey> groupMatcher4 = GroupMatcher.groupStartsWith("jgou");//以特定字符串开头

AndMatcher

对两个匹配器取交集

KeyMatcher<JobKey> keyMatcher = KeyMatcher.keyEquals(pickNewsJob.getKey());
GroupMatcher<JobKey> groupMatcher = GroupMatcher.jobGroupContains("group1");
AndMatcher<JobKey> andMatcher = AndMatcher.and(keyMatcher, groupMatcher);//同时满足两个入参匹配

OrMatcher

对两个匹配器取并集

OrMatcher<JobKey> orMatcher = OrMatcher.or
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值