Axon4 - kafka ext: событие Query не вызывается - PullRequest
0 голосов
/ 08 февраля 2019

События на стороне команды обрабатываются, но запрос (проектор) не вызывается.Использование расширения axon kafka 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 Ответ

0 голосов
/ 11 февраля 2019

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

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

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

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

...