Я новичок в RabbitMQ и довольно новичок в Spring Boot, поэтому надеюсь, что кто-то поймет мою проблему.
У меня есть приложение Spring Boot, которое потребляет сообщения из очереди (RabbitMQ). Он отлично работает, когда приложение работает, а сообщения публикуются в очереди. Тогда сообщения потребляются правильно. Но когда я запускаю свое приложение и уже есть сообщения, ожидающие в очереди, я получаю исключение NullPointerException для своих свойств Autowired. В моем классе есть RabbitMQListener, например myDAO
@Autowired
public RabbitMQListener(ConsumerConfig config) throws IOException, TimeoutException {
...
@Autowired
private MyDAO myDAO;
...
, который используется для сохранения данных в базе данных. Когда я запускаю приложение, я получаю исключение NullPointerException для myDAO, когда оно (пытается быть) использовано.
Похоже, что приложение не завершило запуск и запуск полностью до того, как сообщение будет использовано. Есть ли способ убедиться, что все работает должным образом, прежде чем приложение попытается использовать ожидающие сообщения?