Я новичок в Spring и только поцарапал поверхность того, что можно с этим сделать.
У меня есть ситуация, когда мне нужно настроить повторяющуюся задачу, используя аннотацию @Scheduled
. Скорость указывается как поле члена в объекте, который передается в класс, инкапсулирующий метод, представляющий задачу.
Я использовал механизм, который позволяет получить доступ к конфигурации или среде, например, @Scheduled(fixedRateString = "${some.property:default}")
; это прекрасно работает.
Что я не знаю, как это сделать, это вставить значение из объекта в @Scheduled
.
Например:
class MyClass {
private MyObject myObj;
public MyClass(MyObject myObj) {
this.myObj = myObj;
}
@Scheduled(fixedRateString = "${myObj.rate:5000}")
private void someTask() {
...
}
}
Код выше, конечно, не работает, я просто привожу пример того, что я пытаюсь сделать.
Любые предложения будут оценены.