1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/liangqiding-springboot-cli

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.md

定时任务封装

本例中已对定时器做了封装,具体请查看接口ScheduleService.javaScheduleRunner.java,这样做的好处就是

  • 统一执行定时任务
  • 代码整洁好管理
  • 统一线程池管理,减轻我们系统的开销

使用

在我们需要使用定时任务时,只要重写ScheduleService.java接口就可以啦

  • 如每秒执行使用示例
@Component
@Slf4j
public class Test1TaskImpl implements ScheduleService {

    @Override
    public void everySecond() {
        log.info("(每秒)定时任务执行了");
    }

}
  • 当我们需要添加更多自定义定时任务时(如:每分钟) 只需要在ScheduleService.java中添加方法
 /**
 * 每分钟
 */
default void everyMinute(){}

然后在ScheduleRunner.java中添加执行逻辑

 /**
 * 每分钟
 */
@Scheduled(cron = "0 */1 * * * ?")
public void everyMinute() {
     scheduleServiceList.forEach(ScheduleService::everyMinute);
}

最后我们编写实现类Test2TaskImpl.java

@Component
@Slf4j
public class Test2TaskImpl implements ScheduleService {

    @Override
    public void everyMinute() {
        log.info("(每分钟)定时任务执行了");
    }
    
}
  • 更多示例请看源码

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/liangqiding-springboot-cli.git
git@gitlife.ru:oschina-mirror/liangqiding-springboot-cli.git
oschina-mirror
liangqiding-springboot-cli
liangqiding-springboot-cli
master