我有这样的代码: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));但我更喜欢使用注释。
1 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
您可以使用 spring 中的注入语法将您的属性直接注入注解中${propertyName:defaultValue}。
注意1:当没有声明a时defaultValue,如果属性缺失,那么spring会抛出错误。
注意 2:几乎所有 spring-annotation 都可以使用此语法。
添加回答
举报
0/150
提交
取消
