spring task

默认springtask是单线程执行,如果有多个任务,会导致任务排队执行。

通过spring.task配置,可以修改默认配置方式。

具体完整使用步骤如下:

1.开启spring task功能

  1. @EnableScheduling
  2. @Configuration
  3. public class SchedulingConfig {}

2.编写业务逻辑代码

  1. @Slf4j
  2. @Component
  3. public class SchedulerJob {
  4. @Scheduled(cron = "0/5 * * * * ?")
  5. public void testOne() throws InterruptedException {
  6. //业务逻辑1
  7. }
  8. @Scheduled(cron = "0/3 * * * * ?")
  9. public void testTwo() throws InterruptedException {
  10. //业务逻辑2
  11. }
  12. }

将job以bean的方式添加到spring容器中

3.配置连接池信息

  1. spring.task.scheduling.pool.size=2
  2. spring.task.scheduling.shutdown.await-termination=false
  3. spring.task.scheduling.thread-name-prefix=scheduling-task-
  4. spring.task.scheduling.shutdown.await-termination-period=10s

连接池信息根据实际项目需要配置,线程前缀名称最好带有项目信息或者任务信息