У меня есть приложение SpringBoot, и я хочу подключиться к rabbit mq и прочитать некоторые сообщения.Однако у меня есть проблема, заключающаяся в том, что при развертывании приложения иногда оно мгновенно подключается к кролику и начинает работать, но чаще оно только пытается подключиться и пытается, и, наконец, я получаю исключение тайм-аута просто так:
2018-10-17 09:03:54.460 ERROR 15 --- [ main] o.s.a.r.l.SimpleMessageListenerContainer : Consumer failed to start in 60000 milliseconds; does the task executor have enough threads to support the container concurrency?
Я использую AWS ECS, поэтому мое приложение работает в док-контейнере.Может ли это быть связано?
Вот моя конфигурация, в которой все эти переменные среды действительны
spring.rabbitmq.host=${RABBIT_HOST}
spring.rabbitmq.port=${RABBIT_PORT}
spring.rabbitmq.username=${RABBIT_USERNAME}
spring.rabbitmq.password=${RABBIT_PASSWORD}
spring.rabbitmq.virtualHost=${RABBIT_HOST}
rabbitmq.queues=myQueue
И мой код
@Component
@Slf4j
@RequiredArgsConstructor
final class ListingMessageListener {
private final BackOfficeService backOfficeService;
@RabbitListener(queues = "${rabbitmq.queues}")
public void receiveMessage(final ListingMessage listingMessage) {
final String listingId = listingMessage.getMessage().getListingId();
log.info("Received listingId= {}", listingId);
Optional.ofNullable(backOfficeService.getOfferById(Long.valueOf(listingId))).ifPresent(offer -> log.info(offer.getName()));
}
}