SpringBoot AMPQ в Docker не всегда может подключиться к очереди - PullRequest
0 голосов
/ 17 октября 2018

У меня есть приложение 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()));

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...