【问题标题】:Axon4 - kafka ext: Query event not invokedAxon4 - kafka ext:未调用查询事件
【发布时间】:2019-02-08 14:34:16
【问题描述】:

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

请查看以下代码参考。

轴突配置

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

【问题讨论】:

    标签: apache-kafka axon


    【解决方案1】:

    要使此配置起作用,包含要调用以处理来自 Kafka 的事件的 @EventHandler 注释函数的类需要是处理组 query 的一部分。

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

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

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2022-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 1970-01-01
      相关资源
      最近更新 更多