У меня есть два Axon @ EventHandler, которые нужно обрабатывать в определенном порядке (у них есть РАЗНЫЕ события для обработки). Я прочитал, что мне нужно:
- аннотировать все задействованные обработчики событий с помощью org.axonframework.config.ProcessingGroup (порядок, кажется, применим только в пределах одной processingGroup); аннотация делается на уровне класса,
- используйте org.springframework.core.annotation.Order для определения приоритета; аннотация делается также на уровне класса
Но даже с этой аннотацией события обрабатываются в том порядке, в котором они были инициированы. Или этот функционал применим только для однотипных событий? Псевдокод будет выглядеть так:
@Component
@RequiredArgsConstructor
@ProcessingGroup("mytest")
@Order(2)
public class Test2RecordProjection {
@EventHandler
public void on(Test2CreatedEvent evt) {
...
}
}
@Component
@RequiredArgsConstructor
@ProcessingGroup("mytest")
@Order(1)
public class Test1RecordProjection {
@EventHandler
public void on(Test1CreatedEvent evt) {
...
}
}
Axon 4.0