从Axon 3.3.5上的RabbitMQ队列读取事件时出现问题
使用Axon 3.3.5,我试图从AMQP队列读取事件从Axon 3.3.5上的RabbitMQ队列读取事件时出现问题,rabbitmq,amqp,axon,Rabbitmq,Amqp,Axon,使用Axon 3.3.5,我试图从AMQP队列读取事件 /** * AMQP subscribing */ @Bean SpringAMQPMessageSource notificationsEventsQueue(Serializer serializer) { return new SpringAMQPMessageSource(serializer) { @Override @Transactional @RabbitLis
/**
* 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
列表始终为空,因此我的应用程序不会处理该消息
我遗漏了什么?默认情况下,事件处理程序从事件总线接收事件。如果希望处理程序从另一个源(如RabbitMQ)接收事件,则需要显式地将该源分配给处理器,并将该处理程序分配给该处理器。
最简单的方法是将
@ProcessingGroup('notificationsServiceEventProcessor')
放在eventhandler类上 默认情况下,事件处理程序从事件总线接收事件。如果希望处理程序从另一个源(如RabbitMQ)接收事件,则需要显式地将该源分配给处理器,并将该处理程序分配给该处理器。
最简单的方法是将
@ProcessingGroup('notificationsServiceEventProcessor')
放在eventhandler类上 您是否将任何事件处理程序分配给notificationsServiceEventProcessor组?您好,Allard,您可以演示我应该如何执行此操作吗?最简单的方法是将@ProcessingGroup(“notificationsServiceEventProcessor”)
放在事件处理程序类中。查看参考指南了解更多信息(docs.axonframework.org)谢谢,Allard,没错!你能把它作为一个答案贴出来让我接受吗?你有没有把你的事件处理程序分配给notificationsServiceEventProcessor的组?嗨,Allard,你能告诉我应该怎么做吗?最简单的方法是把@ProcessingGroup(“notificationsServiceEventProcessor”)
放在你的事件处理程序类上。查看参考指南了解更多信息(docs.axonframework.org)谢谢,Allard,没错!你能把这个作为答案贴出来让我接受吗?