0

我正在使用 shedlock 库 4.20.0。

net.javacrumbs.shedlock shedlock-spring 4.20.0 net.javacrumbs.shedlock shedlock-provider-jdbc-template 2.1.0

调度程序的工作是,

@scheduled(fixedRate = 5000)
@SchedulerLock(name = "TaskScheduler__scheduledTask", lockAtLeastForString = "PT5M", lockAtMostForString = "PT14M")
public void reportCurrentTime() {
LockAssert.assertLocked();
log.info("The time is now {} {}", dateFormat.format(new Date()), dataSource);
}

它显示 @SchedulerLock 已弃用。

还有春靴课,

@SpringBootApplication
@EnableScheduling
@EnableSchedulerLock(defaultLockAtMostFor = "PT30S")
public class DMSCaseEmulatorSpringApplication {

public static void main(String[] args) {
    SpringApplication.run(DMSCaseEmulatorSpringApplication.class, args);
}
}

当我执行 spring boot 类时,它会触发 shedlock 并在数据库表中创建一条记录,但在日志中我不断得到如下信息,

19:54:39.188 [scheduling-1] DEBUG n.j.s.c.DefaultLockingTaskExecutor - Locked TaskScheduler__scheduledTask.
19:54:39.188 [scheduling-1] INFO u.g.h.c.d.s.ScheduledTasks - The time is now 19:54:39 HikariDataSource (HikariPool-1)
19:54:39.205 [scheduling-1] DEBUG n.j.s.c.DefaultLockingTaskExecutor - Unlocked TaskScheduler__scheduledTask.
19:54:44.065 [scheduling-1] DEBUG n.j.s.c.DefaultLockingTaskExecutor - Not executing TaskScheduler__scheduledTask. It's locked.
19:54:49.062 [scheduling-1] DEBUG n.j.s.c.DefaultLockingTaskExecutor - Not executing TaskScheduler__scheduledTask. It's locked.

任何想法将不胜感激?

4

1 回答 1

0

问题是由lockAtLeastForString = "PT5M"通过指定引起的,您是说即使任务更快完成,锁也应该至少保持 5 分钟。

关于弃用警告,请查阅 JavaDoc。

于 2021-01-19T15:51:40.177 回答