为了账号安全,请及时绑定邮箱和手机立即绑定

Shedlock:使用属性文件中的 lockAtMostForString

Shedlock:使用属性文件中的 lockAtMostForString

一只萌萌小番薯 2022-06-30 10:47:52
我有这样的代码: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 都可以使用此语法。


查看完整回答
反对 回复 2022-06-30
  • 1 回答
  • 0 关注
  • 539 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号