我有这样的代码:
private static final String FOURTEEN_MIN = "PT14M";
...
@Scheduled(cron = "0 */15 * * * *")
@SchedulerLock(name = "scheduledTaskName", lockAtMostForString = FOURTEEN_MIN, lockAtLeastForString = FOURTEEN_MIN)
public void scheduledTask() {
// do something
}
现在我使用常量,lockAtMostForString
但我想从属性中获取这个值。
有办法吗?
附言
我知道我不能使用注释并像这样重写它:
LockingTaskExecutor executor = new DefaultLockingTaskExecutor(lockProvider);
...
Instant lockAtMostUntil = Instant.now().plusSeconds(600);
executor.executeWithLock(runnable, new LockConfiguration("lockName", lockAtMostUntil));
但我更喜欢使用注释。