Так как ошибки нет,
Spring boot, вероятно, что-то делает, и это может занять некоторое время ... Когда инициализация контекста приложения завершена, весенняя загрузка, наконец, пишет "tomcat запущен на сообщении порта 1339"
Я не знаю, что именно происходит, когда "API-интерфейс отражений для поиска методов, аннотированных @subscirber", но если реализовано неэффективно - это определенно может занять некоторое время.
Поэтому я предлагаю взять поток дамп и попытка проанализировать запущенные потоки, когда вы достигаете точки в журнале, где вы чувствуете, что приложение застревает.
Еще один подозрительный момент - то, что вы написали:
Когда я удаляю bean-компонент, вызывающий класс с методом аннотации my tomcat, запускается на порту.
Что это за боб? что такое класс с методом аннотации? Он пытается подключиться к AWS? Если так, что, если определения неправильны, и это застревает, пытаясь соединиться? Снова трассировка стека многое прояснит здесь.
Обновление
Threas dump (вы должны прочитать его снизу вверх - он показывает текущие вызовы выполнение chsin) показывает, что в конструкторе SubscriberFactory вы пытаетесь подключиться к SQS Aws, и он застревает ...
Это ненормальная ситуация. Возможно, вы сделали что-то не так с параметрами подключения.
С точки зрения инициализации пружины он блокирует весь процесс инициализации, потому что Spring создает бины один за другим в одном потоке
В любом случае, правильное подключение к sqs, вероятно, решит проблему.
Обновление 2
Ответ на вопрос запуска компонента в другом потоке.
Вы запускаете компонент, а не метод в компоненте.
Это не должен быть конструктор или метод, аннотированный @PostConstruct
, потому что эти методы вызываются пружиной во время инициализации
Вы можете использовать @Async
метод в приемнике, который будет запускаться, когда приложение готово.
Вы можете прочитать об асинхронных методах здесь, в этом уроке (обратите внимание, вам также нужно @EnableAsync
)
Метод должен быть вызван / реализован в слушателе и be public void
Понятие слушателей легко понять asp - это крюки для жизненного цикла инициализации контекста приложения. Вам нужно будет следовать этой теме