ApplicationStartedEvent

У меня в приложении есть логика, завязанная, на ApplicationStartedEvent, в которой я сохраняю файл в файловое хранилище. В качестве реализации хранилища используется AwsFileStorage.

В такой ситуации я получаю ошибку:
java.lang.IllegalArgumentException: Buffer size <= 0, связанную с тем, что поле AwsFileStorage.chunkSize по умолчанию равно 0. Оно инициализируется в методе AwsFileStorage.refreshS3Client, который вызывается на ApplicationStartedEvent, а поскольку у этого слушателя нет @Order, его вызов контролировать не получится.

То есть я оказался в ситуации, когда мой слушатель вызвался раньше AwsFileStorage.refreshS3Client, и сервис еще не инициализирован.

Я понимаю, что можно обойти эту ошибку вызвав AwsFileStorage.refreshS3Client руками, но это решение выглядит костыльным.

Добрый день Артем.

А допустимо ли для вас привязать свою логику не к ApplicationStartedEvent, а к ApplicationReadyEvent, который приходит позже?

С уважением,
Иван

Да, это тоже решает проблему, причем это решение лучше, чем предложил выше я.

Но я бы предпочел считать данное поведение ошибочным, которое по возможности требует исправлений, поскольку оно, довольно, неожиданное.

Благодарю за помощь)