Axon4 - kafka ext:未调用查询事件

Axon4 - kafka ext: Query event not invoked

正在处理命令端事件,但未调用查询(投影仪)。 使用 axon kafka 扩展 4.0-RC2.

请检查下面的代码参考。

A​​xonConfig

import org.springframework.context.annotation.Configuration;

@Configuration
public class AxonConfig {


}

application.yml

server:
  port: 9001
spring:
  application:
    name: Query Application
  datasource:
    url: jdbc:postgresql://localhost:5441/orderdemo
    username: orderdemo
    password: secret
    driver-class-name: org.postgresql.Driver
  jpa:
    properties:
      hibernate:
        dialect: org.hibernate.dialect.PostgreSQL95Dialect
        jdbc:
          lob:
            non_contextual_creation: true
        hbm2ddl.auto: update
        implicit_naming_strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
        physical_naming_strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy    

axon:
  eventhandling:
    processors:
      query:
        mode: tracking
        source: kafkaMessageSource
  kafka:
    default-topic: axon-events
    consumer:
      group-id: query-group
      bootstrap-servers: localhost:9092

要使此配置正常工作,类 包含要调用以处理来自 Kafka 的事件的 @EventHandler 注释函数,需要成为处理组的一部分 query.

此要求遵循您选择的配置模式,其中 "axon. eventhandling.processors.query" 定义了您要配置的处理组。要指定处理组,我认为最简单的方法是将 @ProcessingGroup 注释添加到事件处理 Class。在注释中,您必须提供处理组的名称,该名称需要与您在配置文件中设置的名称相对应。

最后,我建议为您的处理组使用与 query 不同的名称。事件处理程序更新的更具体的查询模型对我来说似乎更合适。

希望对您有所帮助!