使用注解的方式注册 Quartz 的 Job

Java 程序员最喜欢的就是造轮子了,后端开发中时常要自己造一些轮子,一个工具包、封装一些开源组件、功能定制化等等,太常见了。

在 Spring 的自造轮子最常见的莫过于设计个注解,然后扫描到后在 BeanPostProcessor 中处理该注解对象,并根据注解组装一个新的对象然后注册到 Spring 中。

场景如《Quartz 动态调度 Job》所述那样,现在对文中 @ScheduledJob 注解的实现做详细说明。

Quartz 动态调度 Job

最近在开发 Quartz Job 任务时有一种很迫切的需求,希望能动态调整生产的 Job 的运行,开启或停止 Job、调整 Job 的运行频率。翻了一下源码,基于 Quartz 的 Scheduler 扩展一个。

控制 Quartz 是否启动

在开发集成了 Quartz 的应用时,由于 Quartz 在开发环境一般也会自动启动。这样会给人造成不少烦恼,一个是启动 Job 会影响本地的运行效率,同时如果是分布 式模式的 Quartz 会出现本地抢任务运行,又由于本地和测试环境的各种不一致,会出现很多奇怪问题。