KafkaListner не разрешает название темы

Я работаю над apache-kafka + пружинный и java API. Столкнувшись с действительно раздражающей проблемой. Я использовал подход шаблона темы kafka для прослушивания события для нескольких клиентов. Ниже приведен код потребителя kafka, в котором имя темы происходит из файла конфигурации, а суффикс имеет значение жесткого кода.

Значение суффикса ${${service}.topic} value - test-env.demo.*.v1 — .cqrs.customer

@KafkaListener(
            topicPattern = "${${service}.topic}" + Constants.suffix,
            groupId = "test",
            id = "test")

Таким образом, окончательное название темы, которое будет разрешено для клиента abc.

test-env.demo.abc.v1.cqrs.customer

а для клиента xyz будет

test-env.demo.xyz.v1.cqrs.customer

но когда производитель генерирует событие по любой из следующих тем. Потребитель ничего не слушал.

Может ли кто-нибудь помочь мне в этом.

Спасибо


person Still Learning    schedule 23.02.2020    source источник
comment
я бы проверил в журналах, подключен ли клиент и где и что во время выполнения фактическое значение topicPattern = "${${service}.topic}" + Constants.suffix,   -  person Paizo    schedule 23.02.2020
comment
Вы уверены, что Spring позволяет вам иметь такие вложенные значения?   -  person OneCricketeer    schedule 24.02.2020


Ответы (1)


Вы можете найти фразу «разделы назначены» в журнале приложений, эта строка будет содержать информацию о том, какие разделы назначены вашему приложению. В случае успеха должно быть что-то вроде:

partitions assigned: [test-env.demo.abc.v1.cqrs.customer-0], 

Если назначенные разделы пусты

partitions assigned: []

в группе «тест» уже могут быть какие-то другие экземпляры-потребители, и сообщения обрабатываются ими. В этом случае попробуйте изменить название группы.

person sboon    schedule 25.02.2020