Spring Boot ApplicationRunner запускается во время запуска, а не после - PullRequest
0 голосов
/ 31 марта 2020

Я создал класс, который реализует интерфейс ApplicationRunner. Насколько я понимаю, метод public void run(ApplicationArguments applicationArguments) должен запускаться после завершения запуска приложения, но в моем случае он запускается во время запуска. Как только мой код был выполнен, приложение завершает свой запуск и записывает следующее перед выходом:

2020-03-31 17:52:24.303  INFO 9016 --- [           main] com.example.config.Application         : Started Application in 22.586 seconds (JVM running for 25.505)

Обычно это не будет проблемой для меня, но этот конкретный проект представляет собой задачу Spring Cloud. Поскольку мой код выполняется во время запуска, и Spring Cloud Tasks регистрируют время запуска после полной инициализации приложения, я получаю неправильное время запуска, которое отличается от времени окончания всего на миллисекунды. Также это означает, что если мой код выдает ошибку и не может выполнить задачу, она не сможет записать время ее запуска и код завершения.

Какой правильный способ решить эту проблему?

...