Как настроить обработчики событий в Axon с помощью Spring?

Видимо Axon по умолчанию использует TrackingEventProcessors. Вместо этого я хотел бы использовать SubscribingEventProcessors. документы говорят, что уже используется по умолчанию, но они кажутся устаревшими.

По умолчанию Axon будет использовать процессоры событий подписки. Можно изменить способ назначения обработчиков и настройку процессоров с помощью класса EventHandlingConfiguration API конфигурации.

Например, предлагается выполнить такую ​​настройку:

@Autowired
public void configure(EventHandlingConfiguration config) {
    config.usingTrackingProcessors(); // default all processors to tracking mode.
}

Однако в v4 нет EventHandlingConfiguration (было в v3).

Мне нужно использовать SubscribingEventProcessors для выполнения обновлений модели чтения в той же транзакции, что и обработка команд. Как это можно настроить в 4.0?


person Double M    schedule 03.12.2018    source источник


Ответы (1)


Этот аспект обработчиков событий можно настроить в application.yml/application.properties

axon:
  eventhandling:
    processors:
      NAME_OF_THE_PROCESSOR:
        mode: subscribing

Я думаю, вы правы. Документация ссылается на старый API.

Вы можете настроить все построители обработчиков событий для использования SubscribingEventProcessor

 @Autowired
 public void configure(EventProcessingConfigurer configurer) {
      configurer.usingSubscribingEventProcessors(); 
 }

https://github.com/AxonFramework/AxonFramework/blob/axon-4.0/config/src/main/java/org/axonframework/config/EventProcessingConfigurer.java#L216

Бест, Иван

person Ivan Dugalic    schedule 03.12.2018
comment
Спасибо! А вы нашли EventProcessingConfigurer в версии 4? Это то, что я пробовал изначально и смог найти такой класс только в v3. Я хочу настроить сразу все процессоры. - person Double M; 04.12.2018
comment
EventProcessingConfigurer - новый API - v4 - person Ivan Dugalic; 05.12.2018
comment
EventHandlingConfiguration - старый API - v3. Это недоступно в версии 4 - person Ivan Dugalic; 05.12.2018
comment
Документация будет обновляться. В репозитории "руководство" есть открытый запрос на вытягивание: github.com/AxonIQ/reference -guide / pull / 25 - person Ivan Dugalic; 05.12.2018