powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Expression Language и параметр в аннотации @Scheduled
4 сообщений из 4, страница 1 из 1
Expression Language и параметр в аннотации @Scheduled
    #39663564
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spring Boot 2.
Есть properties-file (prop.properties) в котором определено свойство:
Код: java
1.
2.
3.
...
delay=5000
...



Есть компонент, считывающий этот файл:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@Component
@PropertySource("classpath:prop.properties")
public class PropertiesReader {
    @Value("${delay}")
    private long delay;

    public getDelay() {
        return delay;
    }
}



Наконец, есть класс с scheduled-методом:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class AnyClass {
...
@Autowired
private PropertiesReader propertiesReader;

@Scheduled(initialDelay = ???)                            // Что надо написать?
public void theMethod() {
}
...
}



Вопрос: какое EL нужно написать вместо ???, чтобы для initialDelay подставлялось значение delay, определенное в свойствах? Перебрал уже, кажется, все, что мог, но не выходит цветок каменный:) Или это невозможно? Спасибо
...
Рейтинг: 0 / 0
Expression Language и параметр в аннотации @Scheduled
    #39663611
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал, кажется - м.б. кому-то пригодится:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
...
@Autowired
private PropertiesReader propertiesReader;

@Scheduled(initialDelayString = "#{T(java.lang.Long).valueOf(propertiesReader.getDelay())}", fixedRate = 1000)
public void theMethod() {
...
}
...



Но важно иметь в виду, что

Код: java
1.
Exactly one of the 'cron', 'fixedDelay(String)', or 'fixedRate(String)' attributes is required



Если есть более "аккуратный" способ, было бы интересно взглянуть
...
Рейтинг: 0 / 0
Expression Language и параметр в аннотации @Scheduled
    #39668987
Mr WeL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fplab,

Код: java
1.
@Scheduled(initialDelayString = "${delay}")



кажется так должно работать
...
Рейтинг: 0 / 0
Expression Language и параметр в аннотации @Scheduled
    #39669436
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr WeL,
Да, работает. Спасибо!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Expression Language и параметр в аннотации @Scheduled
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]