Есть ли способ использовать Spring SpEL внутри метода, чтобы получить значение .properties? - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть класс запланированных задач с аннотацией @Component. Я успешно извлекаю данные из файла .properties для времени задержки, но я бы хотел использовать это значение позже ВНУТРИ метода.

@Scheduled(fixedDelayString = "${mypropvalue}")
public void doScheduledTask () throws IOException
    {
     // do some stuff

    log.info("The doScheduledTask finished at {} ", dateFormat.format(new Date()));
    log.info("The next task will run in {} ms", @Value("${mypropvalue}"));
    }

@Value в последней строке имеет компиляцию ошибка: «Аннотации здесь не разрешены». Как я могу получить это значение снова внутри метода? И поскольку я использую @Scheduled, я не могу передать это @Value в качестве параметра.

1 Ответ

1 голос
/ 02 апреля 2020

Добавьте это как поле

@Value("${mypropvalue}
private long fixedDelay

затем

   this.fixedDelay

в вашем методе.

...