spring amqp rabbit - по умолчанию нет получателя - PullRequest
0 голосов
/ 09 февраля 2020

Я создаю два приложения, одно для публикации сообщений в RabbitMq, а другое для потребления сообщений из RabbitMq.

Я начал с Spring начал работать с rabbitmq

Проблема: Учебное пособие создает одно приложение, которое регистрируется для кролика как издатель И как потребитель.

Я просто не могу найти способ запустить приложение только как издатель. Вот как я пытался настроить привязки:


    @Bean
    SimpleMessageListenerContainer container(
            ConnectionFactory connectionFactory,
            MessageListenerAdapter listenerAdapter) {
        SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        container.setQueueNames(WeatherRequestQueue.QUEUE_NAME);

        container.setMessageListener(listenerAdapter);

        return container;
    }

    @Bean
    MessageListenerAdapter listenerAdapter(WeatherQueryListener receiver) {
        return null;
    }

Обратите внимание, что я возвращаю ноль из listenerAdapter(). Это моя попытка не зарегистрировать потребителя ..

Я получаю следующую ошибку при попытке удалить слушателя: Parameter 1 of method container in my.packag.QueryBinding required a bean of type 'org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter' that could not be found.

1 Ответ

0 голосов
/ 09 февраля 2020

Просто опустите слушатель контейнерного компонента. Требуется только на стороне потребителя.

...