[英]send acknowledge to kafka in camel-kafka component
我是駱駝-kafka組件的新手。 我有使用駱駝-kafka組件從kafka服務器發送和接收消息的所有設置。 我正在使用類似的代碼,如下所述:
from("kafka:localhost:9092?topic=test&groupId=testing&autoOffsetReset=earliest&consumersCount=1")
.process(new Processor() {
@Override
public void process(Exchange exchange)
throws Exception {
String messageKey = "";
if (exchange.getIn() != null) {
Message message = exchange.getIn();
Integer partitionId = (Integer) message
.getHeader(KafkaConstants.PARTITION);
String topicName = (String) message
.getHeader(KafkaConstants.TOPIC);
if (message.getHeader(KafkaConstants.KEY) != null)
messageKey = (String) message
.getHeader(KafkaConstants.KEY);
Object data = message.getBody();
System.out.println("topicName :: "
+ topicName + " partitionId :: "
+ partitionId + " messageKey :: "
+ messageKey + " message :: "
+ data + "\n");
/// I perform many other operations here like persist the object in DB etc.
}
}
});
這里的問題是因為我沒有將任何確認發回給kafka,它從服務器收到了三次相同的消息。 我的問題是如何將確認手動發送回kafka? 我在camel-kafka組件中找不到任何適當的文檔。
您無需將確認發送回kafka。 您尚未指定自動提交啟用功能,默認情況下為true,這意味着自動提交設置為true。 那負責確認。
您能否指定camel-kafka組件使用哪個版本的kafka? 您的駱駝kafka設置很好。 由於您使用的kafka版本,您可能會收到重復的消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.