首先在pom文件中引用kafka依赖

<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId>
</dependency>

一:创建一个消息发送者,发送2条消息,发送完关闭

public static void main(String[] args) {Properties props = new Properties();props.put("bootstrap.servers", "localhost:9092");props.put("acks", "all");props.put("retries", 0);props.put("batch.size", 16384);props.put("linger.ms", 1);props.put("buffer.memory", 33554432);props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");// 如果不想发送String类型的内容,也可以发送自定义的类型// 但是需要为该类型写一个org.apache.kafka.common.serialization.Deserializer<T>的实现props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");// 第1个string泛型表示topic的类型,基本都是string,还真没见过不是string的topic// 第2个string泛型表示发送的类型,string方便一些,如果想发送对象,则需要为该对象实现一个序列化类Producer<String, String> producer = new KafkaProducer<>(props);for (int i = 0; i < 2; i++) {Future<RecordMetadata> future = producer.send(new ProducerRecord<String, String>("你的topic", "消息内容"));}// 注意此处,似乎主线程结束了send方法就不会在发送消息,// 所以不要让主线程结束,比如你可以尝试把close方法删掉试试producer.close();}

二:创建一个spring boot项目,作为消息接收者,接到消息之后打印到控制台
2.1首先在spring boot启动类中写如下代码(为了演示,对象都直接写到启动类里)

@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}@Beanpublic KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<String, String>> kafkaListenerContainerFactory() {ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>();factory.setConsumerFactory(consumerFactory());return factory;}public ConsumerFactory<String, String> consumerFactory() {Map<String, Object> propsMap = new HashMap<>();propsMap.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");propsMap.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, true);propsMap.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, 100);propsMap.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, 6000);propsMap.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);propsMap.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);// 此处是消费组名字propsMap.put(ConsumerConfig.GROUP_ID_CONFIG, "消费组");propsMap.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "latest");return new DefaultKafkaConsumerFactory<>(propsMap);}
}

2.2写一个消费者类,也叫做监听类,发送过来的消息都会进入该类

三.写一个消费者监听类
@Component
public class Listener {// @KafkaListener(topics = {"你的topic"},id = "consumerId")@KafkaListener(topics = { "你的topic" })public void processMessage(String content) {// 此处打印发送过来的两条消息System.out.println(content);}
}

Kafka-与SpringBoot的集成相关推荐

  1. 从现在开始学 Kafka:SpringBoot 集成 Kafka,生产者与消费者示例

    从现在开始学 Kafka:SpringBoot 集成 Kafka,生产者与消费者示例 前言 加依赖 生产者 加配置 生产者代码示例 消费者 加配置 消费者监听器示例 调用 关于 Serializer ...

  2. kafka的单机搭建与springboot快速集成

    一.kakfa相关术语 Broker 消息中间件处理节点,一个Kafka节点就是一个broker,一个或者多个Broker可以组成一个Kafka集群 Topic Kafka根据topic对消息进行归类 ...

  3. springboot项目集成docker

    文章目录 一.docker常用命令 0.拉取镜像到本地仓库 1.查看所有镜像 2.创建一个新的容器并运行,返回的是容器的ID -- CONTAINER ID: 3.查看运行中的docker实例 4.查 ...

  4. springboot的jsp应该放在哪_在springboot中集成jsp开发

    springboot就是一个升级版的spring.它可以极大的简化xml配置文件,可以采用全注解形式开发,一个字就是很牛. 在springboot想要使用jsp开发,需要集成jsp,在springbo ...

  5. springboot+mybatis集成自定义缓存ehcache用法笔记

    今天小编给大家整理了springboot+mybatis集成自定义缓存ehcache用法笔记,希望对大家能有所办帮助! 一.ehcache介绍 EhCache 是一个纯Java的进程内缓存管理框架,属 ...

  6. Springboot/Cloud集成Sentinel 和 入门实战

    文章目录 一.Springboot/Cloud集成Sentinel 1. spring-cloud-alibaba依赖 2. 引入 Sentinel starter 3. 配置application. ...

  7. springboot nacos_springboot集成nacos

    1.现在nacos进行配置添加 2.springboot项目集成nacos nacos上有说明,根据不同的工程进行配置,如下图 集成nacos客户端包 com.alibaba.boot nacos-c ...

  8. SpringBoot 2 集成微信扫码支付

    前言 该文主要是手把手教你如何在SpringBoot 中集成微信扫码支付,以及集成的过程需要注意的问题事项.另外需要感谢 vbirdbest 关于微信支付和支付宝支付相关包博客总结.因为文中很多地方参 ...

  9. MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis

    MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis 对MyBatis简单介绍 核心接口SqlSessionFactory 实战 1. Maven创建Java项目 2. ...

  10. springboot项目集成大数据第三方dolphinscheduler调度器

    文章目录 摘要 项目背景 功能要求 功能说明 1.1用例图 1.2业务流程分析 1.3业务ER图 1.4 管理任务流程图 1.5功能设计详细说明点 1.6页面原型 三.本人相关其他文章链接 摘要 ①d ...

最新文章

  1. ca 服务器的搭建 和证书的申请与颁发
  2. 虞旦盛老师 的《数学分析续》课件
  3. Linux 性能測试工具
  4. nbalive05 editor 正式版
  5. 数字信道化中的兔耳效应
  6. 黑客入侵“在线影院”全过程2
  7. 启发式搜索给神经网络_神经科学如何支持UX启发式
  8. AI造福设计师:搭配色板这种苦差事交给GAN就好啦(教程)
  9. 背包——多重背包(hdu2191)
  10. 使用 Anthem.NET 的常见回调(Callback)处理方式小结[转]
  11. [转]MIDI常识20条
  12. 防止html网页被f12抓取,JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码...
  13. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_10-freemarker静态化测试-基于模板文件静态化...
  14. mysql 执行顺序_MySQL 基础知识掌握
  15. java开源项目网站社区_一些开源项目网址
  16. 零基础入门机器学习——声音识别——打卡Task1
  17. 服务器数据收发测试软件,sokit TCP/UDP 数据包收发测试(调试)工具(Win32)
  18. git 使用 tree命令
  19. navicat怎么清除干净
  20. ios开发常用RGB色值

热门文章

  1. Python获取文件后缀名
  2. 小学生计算机按键分布图,人教版(新版)小学信息三下第2课《常用按键掌握牢》课件.ppt...
  3. linux6 rac 11g,oracle linux 6.操作系统oracle 11g rac
  4. 深度搜索 java_java实现的深度搜索与广度搜索算法BFS,DFS以及几种最短路径算法...
  5. 可能存在无限递归_Python之递归函数
  6. RabbitMQ-Java实现Publish/Subscribe订阅模式
  7. java保留小数点后几位,不足的用0补
  8. Flask 区域块简单原理实现
  9. sublime text3:呼出安装插件的快捷键
  10. BYOD提升企业生产力的5种方式