ShedLock - 未执行

问题描述

我使用的是 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 已被弃用。

还有 Spring Boot 类,

@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.

任何想法将不胜感激?

解决方法

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...