Проблемы чтения событий из очереди RabbitMQ на Axon 3.3.5 - PullRequest
0 голосов
/ 11 сентября 2018

Используя Axon 3.3.5, я пытаюсь прочитать события из очереди AMQP.

/**
 * AMQP subscribing
 */

@Bean
SpringAMQPMessageSource notificationsEventsQueue(Serializer serializer) {
    return new SpringAMQPMessageSource(serializer) {

        @Override
        @Transactional
        @RabbitListener(id = "eventsQueue", queues = "notificationsEventsQueue")
        public void onMessage(Message message, Channel channel) {
            super.onMessage(message, channel);
        }

    };
}

@Autowired
public void configure(EventProcessingConfiguration conf, SpringAMQPMessageSource src) {
    conf.registerSubscribingEventProcessor("notificationsServiceEventProcessor", c -> src);
}

Я отладил метод onMessage, и когда приходит новое сообщение, список eventProcessorsвсегда пусто, поэтому мое приложение не обрабатывает сообщение.

Что я пропускаю?

1 Ответ

0 голосов
/ 23 сентября 2018

Обработчики событий по умолчанию получают свои события из шины событий.Если вы хотите, чтобы обработчики получали события из другого источника (например, RabbitMQ), вам необходимо явно назначить этот источник процессору, а также назначить этот обработчик этому процессору.Самый простой способ - поместить @ProcessingGroup(‘notificationsServiceEventProcessor’) в класс обработчика событий.

...