Решение состоит в том, чтобы определить компонент в вашем файле конфигурации SpringBoot следующим образом:
@Configuration
public class MyConfig {
@Bean
ComponentCustomizer<KafkaComponent> myCustomizer(){
return new ComponentCustomizer<KafkaComponent>() {
@Override
public void customize(KafkaComponent component) {
//KafkaConfiguration config = new KafkaConfiguration(); //optional extra config
component.setAllowManualCommit(true);
component.setBrokers(brokers);
component.setWorkerPool(workerPool);
};
};
}
@Component
public class route extends RouteBuilder {
@Override
public void configure() throws Exception {
from("file://target/inbox")
.to("direct:kafka_in")
from("direct:kafka_in")
.log(LoggingLevel.WARN, "Generated : $simple{body}")
.to("kafka:topic2")
.log("[P-kafka_in] regular Producer");
}
}
}
В дополнение к любой конфигурации, установленной в свойствах:
camel.component.kafka.configuration.retries=1234567
camel.component.kafka.configuration.request-required-acks=all
camel.component.kafka.configuration.enable-idempotence=true
Тогда компонент будет перетащите в этот настройщик и обработайте там.