大数据-kafka学习——集成SpringBoot
Posted 机智兵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据-kafka学习——集成SpringBoot相关的知识,希望对你有一定的参考价值。
SpringBoot是一个在JavaEE开发中非常常用的组件。可以用于Kafka的生产者,也可以用于Kafka的消费者。
一、SpringBoot项目搭建
如果Spring Initializr产生如下错误解决方法
Custom的URL改为 https://start.aliyun.com/
SpringBoot项目创建成功
二、 生产者代码
package com.myself.springboot.springbootkafka.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author :jizhibing
* @date :Created in 2022/4/15
* @description:
*/
@Controller
public class ProducerController
@Autowired
KafkaTemplate<String,String> kafkaTemplate ;
@RequestMapping("/producer")
public String data(String msg)
kafkaTemplate.send("first",msg);
System.out.println("生产者收到页面请求:"+msg);
return "OK" ;
三、消费者代码
package com.myself.springboot.springbootkafka.controller;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.annotation.KafkaListener;
/**
* @author :jizhibing
* @date :Created in 2022/4/15
* @description:
*/
@Configuration
public class KafkaConsumer
@KafkaListener(topics = "first")
public void consumerTopic(String msg)
System.out.println("消费者消费消息:"+msg);
四、application.properties
#kafka服务器信息
spring.kafka.bootstrap-servers=localhost:9092
# key 序列号
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
# value 序列号
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
# key 反序列号
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
# value 反序列号
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.group-id=test
五、结果展示
以上是关于大数据-kafka学习——集成SpringBoot的主要内容,如果未能解决你的问题,请参考以下文章
物联网架构成长之路(49)-SpringBoot集成KafKa中间件