Весенняя загрузка кафки сообщений. Как использовать SpEL для управления доступом к обработчику - PullRequest
0 голосов
/ 08 ноября 2018

Я использую Kafka в проекте Spring Boot. Есть много преимуществ, если у вас есть простой поток (для использования @KafkaListener, @KafkaHandler) и Spring готовит почти все для разработки.

В моем приложении у меня разные обработчики для одних и тех же данных сообщения. Я хочу использовать SpEL для управления обработчиками, управляющими данными заголовка, но я не обнаружил соответствующего API для этого.

Итак, мой вопрос: возможно ли управлять моими обработчиками через SpEL, если у меня есть специальные заголовки для этого (например, заголовок "X-OPERATION_TYPE":"patch")? Как?

приписка

Я могу сделать обходные пути, используя в качестве примера стратегию GoF, но я надеюсь, что у Spring уже есть решение для этого случая.

1 Ответ

0 голосов
/ 08 ноября 2018

В Spring нет такой «условной маршрутизации» для Apache Kafka, но вы можете сделать эту маршрутизацию вручную в единственном @KafkaListener с простым if...else или switch.

Для более полной логики маршрутизации было бы лучше взглянуть на Spring Integration: https://docs.spring.io/spring-integration/docs/5.0.9.RELEASE/reference/html/messaging-routing-chapter.html

...