Update kafka-component.adoc (#2474) * Update kafka-component.adoc * Improve the spring example Add @PostConstruct method * Improve Spring Example using initMethod and destroyMethod @Bean(name = "offsetRepo", initMethod = "start", destroyMethod = "stop")
diff --git a/components/camel-kafka/src/main/docs/kafka-component.adoc b/components/camel-kafka/src/main/docs/kafka-component.adoc index 4604e9c..949f36a 100644 --- a/components/camel-kafka/src/main/docs/kafka-component.adoc +++ b/components/camel-kafka/src/main/docs/kafka-component.adoc
@@ -236,6 +236,26 @@ } }); ---------------------------------------------------------------------------------------------------------------------------- +[source,java] +---------------------------------------------------------------------------------------------------------------------------- +// Create the repository in which the Kafka offsets will be persisted using Spring @Bean annotation +@Bean(name = "offsetRepo", initMethod = "start", destroyMethod = "stop") +private FileStateRepository fileStateRepository() { + FileStateRepository fileStateRepository = FileStateRepository.fileStateRepository(new File("/path/to/repo.dat")); + return fileStateRepository; +} + +camelContext.addRoutes(new RouteBuilder() { + @Override + public void configure() throws Exception { + from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}" + + "&groupId=A" + // + "&autoOffsetReset=earliest" + // Ask to start from the beginning if we have unknown offset + "&offsetRepository=#offsetRepo") // Keep the offsets in the previously configured repository + .to("mock:result"); + } +}); +---------------------------------------------------------------------------------------------------------------------------- #### Producing messages to Kafka