boot spring boot 项目
这里使用 intellij فكرة
添加 كافكا 集成 مافن
<؟ XSI: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <soph> 0.0.1-snapshot </version> <packaging> جرة </packaging> <name> Demo </name> <speciped> مشروع تجريبي لـ Spring Boot </description> <parent> <roupiD> org.springframework.boot </ropringid> <!-Lookup Parent from ropository-> </paret> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.reporting.utputencoding> <ependencies> <Rependency> <roupiD> org.springframework.boot </rougiD> <Stifactid> Spring-Boot-Starter-Web </shintifactid> </sependency> <Groper> org.springframework.boot </groupId> <StifactId> Spring-boot-starter-test </artifactid> <scope> اختبار </scope> </sependency> </reperence> <build> <clupins> <clupin> <StifactId> Spring-Boot-Maven-Plugin </stifactid> </sultwing> </sults> </build> </project>
项目中 application.properties 添加
spring.kafka.bootstrap-servers = VM208: 9092 ، VM: 9092 ، VM50: 9092SPRING.KAFKA.CONSUMER.AUTO-RESET = أحدث OCAL_TESTSPRING.KAFKA.CONSUMER.KEY-Deserializer = org.apache.kafka.common.Serialization.StringDeserializerspring.kafka.consumer.value-deseri alizer = org.apache.kafka.common.serialization.StringDeserializerspring.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 消费类
package com.example.demo.consumer ؛ import org.apache.kafka.clients.consumer.consumerrecord ؛ import org.slf4j.logger ؛ import org.slf4j.loggerfactory ؛ import org.springframework.kafka.annotation.kafkalistain ؛ org.springframework.stereotype.component ؛ componentpublic class kafkaconsumer {private logger logger = loggerfactory.getLogger (this.getClass ()) ؛ kafkalistener (موضوعات = {"test"}) public void الاستماع (consumerRecord <؟ }}spring-boot 程序 ، 在 kafka 集群 ، 模拟发送 topic ، 检验接收
复制代码代码如下: bin/kafka-console-producer.sh-Broker-List VM208: 9092 ، VM210: 9092 ، VM50: 9092-Topic Test
编写 المنتج 代码
package com.example.demo.producer ؛ import org.apache.kafka.clients.producer.producerrecord ؛ استيراد org.springframework.beans.factory.annotation.autowired org.springframework.stereotype.component ؛ componentpublic class kafkaproducer {autowired kafkatemplate kafkatemplate ؛ موضوع السلسلة = "اختبار" ؛ public void sendMessage (مفتاح السلسلة ، بيانات السلسلة) {kafkatemplate.send (New ProducerRecord (Topic ، Key ، Data)) ؛ }}建立一个 Restful 模拟发送 (//http://localhost:8080/kafka/send.do؟key=2&data=allen-test-message)
package com.example.demo.controller ؛ import com.example.demo.producer.kafkaproducer ؛ import org.springframework.beans.factory.antation.autowired org.springframework.web.bind.annotation.requestmethod ؛ استيراد org.springframework.web.bind.annotation.requestparam ؛ import org.springframework.web.bind.annotation.restController ؛ restControllerPublerpublerpublic. kafkaproducer @requestmapping (value = "/kafka/send.do" ، method = requestMethod.get) السلسلة العامة sendMessage ( @requestparam (value = "key") مفتاح السلسلة ، requestparam (value = "data") بيانات السلسلة) {kafkaproducer.sendmessage (مفتاح ، البيانات) ؛ العودة "النجاح" ؛ }}spring-kafka 大大减少了代码工作量.
官方文档: https://docs.spring.io/spring-kafka/docs/1.2.2.release/reference/html/
以上就是本文的全部内容 , 希望对大家的学习有所帮助 , 也希望大家多多支持武林网。