Axon4 - kafka ext: событие Query не вызывается

События на стороне команды обрабатываются, но запрос (проектор) не вызывается. Использование аксона с кафкой расширения 4.0-RC2.

Пожалуйста, проверьте ниже код ссылки.

AxonConfig

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

1 ответ

Чтобы эта конфигурация работала, классы, которые содержат @EventHandler аннотированные функции, которые вы хотите вызывать для обработки событий из Kafka, должны быть частью группы обработки query,

Это требование следует из выбранного вами шаблона конфигурации, где "axon. Eventhandling.processors. Query" определяет группу обработки, которую вы хотите настроить. Чтобы указать группу обработки, я думаю, что самый простой подход - это добавить @ProcessingGroup аннотации к вашему классу обработки событий. В аннотации вы должны указать имя группы обработки, которое должно соответствовать тому, что вы установили в файле конфигурации.

Наконец, я бы предложил использовать другое имя, чем query для вашей группы обработки. Что-то более специфичное для модели запросов, которое обновляет обработчик событий, мне кажется более подходящим.

Надеюсь это поможет!

Другие вопросы по тегам