2017-06-25 8 views
1

次のような簡単なコードを実行することで、次のような交換を得ることができます。 kafkaEndpointのmaxPollRecords設定がこれにどのように影響しますか?次のコードを実行した後、echangeはkafkaからのメッセージを1つだけ持ちます。デフォルト値はmaxPollRecordsのためであることはカフカライブラリを使用する場合consumer.pollは()camel kafka maxPollRecords設定の意味

ConsumerRecords<String, String> records = consumer.poll(100); 

だからレコードはその中で唯一の500レコードを持つことになり、次のように返されますので、それは明らかだ500

Exchange exchange = kafkaConsumer.receive(kafkaEndpoint, 100);//ConsumerTemplate kafkaConsumer; 

です。しかし、それはラクダカフカになると、これはどういう意味ですか?

答えて

0

オプションmaxPollRecordsは、そのkafkaオプションと同じで、Apache CamelとKafkaの両方のドキュメントに記載されています。

一方、Camel ConsumerTemplateを使用した最初のAPIは交換(別名メッセージ)の消費で、使用するAPIは異なります。だからあなたは1つのメッセージを得る。

通常、キャメルでは、キャメルカフカの例(https://github.com/apache/camel/blob/master/examples/camel-example-kafka/README.adoc)のようなルートを設定します。maxPollRecordsオプションに従ってデフォルトで最大500個のメッセージをポーリングし、それらの500個のメッセージをキャメルでルーティングします。

+0

これにもお答えください。https://stackoverflow.com/questions/44732041/using-camel-how-to-get-the-last-message-with-the-latest-offsetありがとう –

関連する問題