我有這樣的代碼: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
提交
取消