Spring Boot, Autowired, проблема с запуском RabbitMQ - PullRequest
0 голосов
/ 06 мая 2020

Я новичок в RabbitMQ и довольно новичок в Spring Boot, поэтому надеюсь, что кто-то поймет мою проблему.

У меня есть приложение Spring Boot, которое потребляет сообщения из очереди (RabbitMQ). Он отлично работает, когда приложение работает, а сообщения публикуются в очереди. Тогда сообщения потребляются правильно. Но когда я запускаю свое приложение и уже есть сообщения, ожидающие в очереди, я получаю исключение NullPointerException для своих свойств Autowired. В моем классе есть RabbitMQListener, например myDAO

@Autowired
public RabbitMQListener(ConsumerConfig config) throws IOException, TimeoutException {
    ...
    @Autowired
    private MyDAO myDAO;
    ...

, который используется для сохранения данных в базе данных. Когда я запускаю приложение, я получаю исключение NullPointerException для myDAO, когда оно (пытается быть) использовано.

Похоже, что приложение не завершило запуск и запуск полностью до того, как сообщение будет использовано. Есть ли способ убедиться, что все работает должным образом, прежде чем приложение попытается использовать ожидающие сообщения?

...