如何使用Spring在Axon中配置事件处理器?

时间:2018-12-03 16:00:27

标签: event-handling axon

显然,Axon默认使用TrackingEventProcessors。我想改用SubscribingEventProcessorsdocsthe latter is already the default,但是它们似乎已经过时了。

  

默认情况下,Axon将使用“订阅事件处理器”。有可能的   更改处理程序的分配方式和处理器的配置方式   使用Configuration API的EventHandlingConfiguration类。

例如,建议执行如下配置:

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

但是,第4版中没有EventHandlingConfiguration(第3版中没有)。

我需要使用SubscribingEventProcessors在与命令处理相同的事务中执行读取模型更新。如何在4.0中进行配置?

1 个答案:

答案 0 :(得分:5)

可以在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

最好, 伊万