Camel Kafka: невозможно прочитать сообщения из темы Kafka - PullRequest
0 голосов
/ 16 июня 2020

У меня есть кластер Kafka (версия: 0.10.1.0) с 9 брокерами и 10 разделами.

Я пробовал использовать сообщения из приложения java с помощью camel kafka 2.14.3. Вот мой пом. xml

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-kafka</artifactId>
    <version>2.14.3</version>
</dependency>

Это единственная зависимость, которую я использую, связанную с верблюдом Кафкой. Ниже приведен код потребителя camel kafka.

<route id="ReadFromTopic">
    <from uri="kafka:[[topic]]?brokers=[[broker.list]]&amp;groupId=[[consumer.group]]" />   
    <log message="read message : ${body}" />
</route>

Я использую URI Kafka, как указано в документации https://camel.apache.org/components/latest/kafka-component.html.

Но вот исключение, которое я получаю при загрузке контекста верблюда

Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: kafka://[[topic]]?brokers=[[broker.list]]&groupId=[[consumer.group]] due to: Failed to resolve endpoint: kafka://[[topic]]?brokers=[[broker.list]]&groupId=[[consumer.group]] due to: There are 1 parameters that couldn't be set on the endpoint. Check the uri if the parameters are spelt correctly and that they are properties of the endpoint. Unknown parameters=[{brokers=[[broker.list]]}]

Он говорит Unknown parameters=[{brokers=[[broker.list]]}]. Пробовал с camel-kafka 3.x, жрет нормально. Но при производстве я должен использовать camel kafka 2.14.3. Мне не хватает каких-либо зависимостей или я использую неправильный URI?

1 Ответ

0 голосов
/ 16 июня 2020

Я думаю, вы были на правильном пути в первом вопросе . Я очень удивлен, что формат URI Camel Kafka сильно изменился между 2.14.2 и более новыми версиями Camel 2.x. Возможно, из-за более новых версий Kafka?

Вы можете увидеть это в KafkaConfiguration документации версии 2.24.3 и версии 2.14.3 . В версии 2.14.3 нет метода getBrokers для получения параметра brokers, поэтому сообщение об ошибке, которое вы получаете, соответствует используемой вами версии.

Напротив, в версии 2.24.3 есть такой метод и, следовательно, он соответствует документации по компонентам новых версий Camel 2.x.

К сожалению, я сделал не найдете документации по компонентам версии 2.14.3, но, возможно, вы сможете построить ее из URI вашего первого вопроса с возможными параметрами KafkaConfiguration.

...