Обнаружен недопустимый метод @Scheduled 'run': требуется только один из атрибутов 'cron', 'fixedDelay (String)' или 'fixedRate (String)' - PullRequest
0 голосов
/ 18 июня 2019

Не знаю, может быть проблема здесь, просто добавила стандартную работу cron в мое приложение, оно работает, если оно жестко закодировано!

application.properties

qronicle.data-retention.retryCronSchedule = 0 * * * * *

DataRetentionDeliveryMethod

@Scheduled(cron = "\${qronicle.data-retention.retryCronSchedule}")
@Transactional
override fun run() {
    LOGGER.info("Running retry job.")

    val retentionRecords = retentionRepository.findAllByStateAndRetryCountLessThan()
    LOGGER.info("Will attempt to reprocess ${retentionRecords.size} retention records.")

Выдает следующую ошибку

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-06-18 14:02:25.221 ERROR 20 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'retentionRetryJob$qronicle' defined in class path resource [com/netapp/qronicle/config/ApplicationConfig.class]: Initialization of bean failed; nested exception is java.lang.IllegalStateException: Encountered invalid @Scheduled method 'run': Exactly one of the 'cron', 'fixedDelay(String)', or 'fixedRate(String)' attributes is required

Стоит отметить, что запуск приложения внутри IntelliJ, похоже, работает,

giving the following log line...
2019-06-18 17:30:35.388  INFO 15642 --- [           main] c.n.q.p.delivery.RetentionRetryJob       : Started retention retry job with schedule: 0 * * * * *.

1 Ответ

1 голос
/ 18 июня 2019

Передача динамических значений в аннотации невозможна в Java. Вы можете проверить этот пост для справки.

Передача динамических параметров в аннотацию?

...