新建 Bota de primavera 项目
这里使用 Idea de IntelliJ
添加 Kafka 集成 Maven
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschemainstance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion> 4.0.0 </modelversion> <MoupRoupid> com.example </spopiid> <artifactid> Demo </ArtiMo </arti <versión> 0.0.1-snapshot </versewer> <packaging> jar </packaging> <name> demostración </name> <scuidt> Proyecto de demostración para el arranque de primavera </scription> <-parent> <proupid> org.springframework.boot <//groupid> <artifactid> spring-boot-sharter-parent </artifactid> <rersione> 1.5.8.releation </versión </versión <artifactid> spring-boot-sharter-parent </artifactid> <lansione> 1.5.8.releation </versión </versión <artifactid> spring-boot-sharter-parent </artifactid> <releerssion> < <Spendency> <MoupRoMID> org.springframework.boot </groupid> <artifactID> spring-boot-starter-web </artifactid> </peperspency> <pendency> <grupoD> org.springframework.kafka </groupid> <artifactid> spring-kafka </artifactid> <//dependency> <pendency> <MoupRoD> org.springframework.boot </groupid> <artifactid> spring-boot-starter-test </arfactid> <cope> test </spope> </pendency> </dependencias> <construcción> <gotins> <glugin> <grupiD> org.springframeWork.Boot </groupid> <artifactID> spring-boot-saven-plugin </artifactid> </glugin> </glugins> </build> </proyecto>
项目中 Application.Properties 添加
spring.kafka.bootstrap-servers = VM208: 9092, VM: 9092, VM50: 9092spring.kafka.consumer.auto-offset-represas = ortatspring.kafka.consumer.group-did = l ocal_testspring.kafka.consumer.key-deseserializer = org.apache.kafka.common.serialization.stringdeserializererspring.kafka.consumer.value-deseseri Alizer = org.apache.kafka.common.serialization.StringDeserializerRespring.kafka.producer.key-serializer = org.apache.kafka.common.serialization .StringSerializerSpring.kafka.producer.Value-Serializer = org.apache.kafka.common.serialization.stringserializerspring.kafka.producer.acks = 1
新建 Kafkaconsumer 消费类
paquete com.example.demo.consumer; import org.apache.kafka.clients.consumer.consumerRecord; import org.slf4j.logger; import org.slf4j.loggerFactory; import og.springframework.kafka.annotation.kafkalistener; importar; org.springframework.stereotype.component; @ComponentPublic Class KafkAconsumer {private logger logger = loggerFactory.getLogger (this.getClass ()); @Kafkalistener (topics = {"test"}) public void Listen (ConsumerRecord <?,?> Record) {System.out.printf ("offset =%d, key =%s, valor =%s/n", registro.offset (), registro.key (), registro.value ()); }}启动 boot de primavera 程序 程序 程序 在 在 集群 模拟发送 模拟发送 模拟发送 检验接收 检验接收 检验接收 检验接收 检验接收 检验接收 检验接收 检验接收 检验接收 检验接收 检验接收
复制代码代码如下: bin/kafka-comsole-producer.sh --broker-list vm208: 9092, vm210: 9092, vm50: 9092 -port-topic
编写 Productor 代码
paquete com.example.demo.producer; import org.apache.kafka.clients.producer.producerRecord; import org.springframework.beans.factory.annotation.aUtowired; import org.springframework.kafka.core.kafkatemplate; importación; org. String topic = "test"; public void sendMessage (clave de cadena, datos de cadena) {kafkatemplate.send (new ProducerRecord (Topic, Key, Data)); }}建立一个 Restful 模拟发送 (//http://localhost:8080/kafka/send.do?key=2&data=allen-test-message)
paquete com.example.demo.controller; import com.example.demo.producer.kafkaproducer; import org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.requestmapping; import; org.springframework.web.bind.annotation.Requestmethod; import org.springframework.web.bind.annotation.requestParam; import org.springframework.web.bind.annotation.restController; @RestControllerPublicPublicP ProducterSer Kafkaproducer; @RequestMapping (valor = "/kafka/send.do", método = requestmethod.get) public String sendMessage (@RequestParam (value = "Key") Clave de cadena, @RequestParam (value = "Data") String Data) {kafkaproducer.sendMessage (key, data); devolver "éxito"; }}可以发现 Spring-Kafka 大大减少了代码工作量.
官方文档: https://docs.spring.io/spring-kafka/docs/1.2.2.release/reference/html/
以上就是本文的全部内容 , 希望对大家的学习有所帮助 也希望大家多多支持武林网。 也希望大家多多支持武林网。