Весна @ Запланированное время задержки впрыска - PullRequest
7 голосов
/ 08 декабря 2010

У меня есть несколько методов, помеченных

@Scheduled(fixedDelay = 6000)
private void myScheduledMethod(){
//do something
}

У меня также есть набор файлов свойств, в которых я настраиваю специфические для среды значения.Для целей тестирования я бы хотел, чтобы значение задержки можно было настраивать, в идеале через свойство в файле свойств.

Поскольку значение fixedDelay должно быть константой, я ищуспособ получить этот набор из файла свойств, но еще не нашел способ сделать это.

Ответы [ 2 ]

6 голосов
/ 03 июля 2014

Я застрял на тех же проблемах, но лучший способ решить эту проблему сейчас будет:

@Scheduled(fixedDelayString = "${my.delay.property}")
public void myScheduledMethod(){
    // do something
}
5 голосов
/ 08 декабря 2010

Было бы хорошо иметь эту опцию, но я думаю, что она не существует (аннотация на уровне класса, а значение будет введено при создании экземпляра).

Чтобы сделать это настраиваемым, используйте пространство имен xml <task:. Как в примере из Spring Docs :

<task:scheduled-tasks scheduler="myScheduler">
    <task:scheduled ref="someObject" method="someMethod" 
         fixed-delay="${configuredDelay}"/>
</task:scheduled-tasks>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...