一、spring-kafka配置详解

1.1 要是用spring-kafka 我们首先要在pom要。xml中引入spring-kafka包

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.kafka</groupId>
  4. <artifactId>spring-kafka</artifactId>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-web</artifactId>
  9. </dependency>
  10. <dependency>
  11. <groupId>org.springframework.boot</groupId>
  12. <artifactId>spring-boot-starter-websocket</artifactId>
  13. </dependency>
  14. </dependencies>

1.2  配置文件application.properties 中对kafka进行配置

  1. spring.kafka.bootstrap-servers=172.21.13.26:
  2. spring.kafka.consumer.auto-offset-reset=latest
  3. spring.kafka.consumer.group-id=local_test
  4. spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
  5. spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
  6. spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
  7. spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer

二、spring-kafka生产者源码

  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.kafka.core.KafkaTemplate;
  3. import org.springframework.stereotype.Component;
  4.  
  5. /**
  6. * Created by wuxiaowei on 2018/1/10 0010.
  7. */
  8. @Component
  9. public class KafkaSender {
  10.  
  11. public KafkaSender() {
  12. }
  13.  
  14. @Autowired
  15. private KafkaTemplate kafkaTemplate;
  16.  
  17. public void sendMessage(String topic, String message) {
  18.  
  19. kafkaTemplate.send(topic, message);
  20. }
  21. }

三、spring-kafka消费者源码

使用监听@KafkaListener监听消息,并通过WebSocket发送消息到页面

  1. import com.saas.mq.controller.WebSocketMessage;
  2. import com.saas.mq.model.Body;
  3. import com.saas.mq.model.MessageBody;
  4. import java.io.IOException;
  5.  
  6. /**
  7. * Created by wuxiaowei on 2018/1/11 0011.
  8. */
  9. public class SendMessage extends Thread {
  10.  
  11. private String message;
  12.  
  13. public SendMessage(String message) {
  14. this.message = message;
  15. }
  16.  
  17. @Override
  18. public void run() {
  19. MessageBody messageBody = JSONObject.parseObject(this.message, MessageBody.class);
  20.  
  21. Body body = messageBody.getResults().stream().findFirst().get();
  22. String resut = body.getV();
  23. for (WebSocketMessage item : WebSocketMessage.webSocketSet) {
  24. try {
  25. item.sendMessage("receive:" + resut);
  26. } catch (IOException e) {
  27. e.printStackTrace();
  28. continue;
  29. }
  30. }
  31. }
  1. import org.springframework.kafka.annotation.KafkaListener;
  2. import org.springframework.stereotype.Component;
  3.  
  4. /**
  5. * Created by wuxiaowei on 2017/10/25 0025.
  6. */
  7. @Component
  8. public class KafkaConsumer {
  9.  
  10. @KafkaListener(topics = "test")
  11. public void processMessage(String content) {
  12. SendMessage message = new SendMessage(content);
  13. message.start();
  14. }
  15. }

Kafka安装之三 spring-kafka实践的更多相关文章

  1. hadoop 之 kafka 安装与 flume -> kafka 整合

    62-kafka 安装 : flume 整合 kafka 一.kafka 安装 1.下载 http://kafka.apache.org/downloads.html 2. 解压 tar -zxvf ...

  2. 【kafka学习之三】kafka集群运维

    kafka集群维护一.kafka集群启停#启动kafka/home/cluster/kafka211/bin/kafka-server-start.sh -daemon /home/cluster/k ...

  3. Spring Kafka和Spring Boot整合实现消息发送与消费简单案例

    本文主要分享下Spring Boot和Spring Kafka如何配置整合,实现发送和接收来自Spring Kafka的消息. 先前我已经分享了Kafka的基本介绍与集群环境搭建方法.关于Kafka的 ...

  4. kafka安装使用

    版本:kafka_2.11-0.10.1.0  (之前安装2.10-0.10.0.0,一直出问题) 安装 Springboot结合Kafka的使用 安装 下载并解压代码 wget http://mir ...

  5. kafka安装和使用

    kafka安装和启动 kafka的背景知识已经讲了很多了,让我们现在开始实践吧,假设你现在没有Kafka和ZooKeeper环境. Step 1: 下载代码 下载0.10.0.0版本并且解压它. &g ...

  6. Kafka安装及开启SASL_PLAINTEXT认证(用户名和密码认证)

    前些日子要封装一个kafka的客户端驱动,配置了下kafka环境,发现配置复杂度完爆rabbitmq很多倍啊,而且发布订阅模式使用起来也很麻烦,可能就胜在分布式了吧. kafka需要java环境,自行 ...

  7. Kafka安装与配置(windows)

    作者:灬花儿灬 出处:http://www.cnblogs.com/flower1990/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...

  8. Spring Kafka整合Spring Boot创建生产者客户端案例

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 创建一个kafka-producer-master的maven工程.整个项目结构如下: ...

  9. Kafka 入门和 Spring Boot 集成

    目录 Kafka 入门和 Spring Boot 集成 标签:博客 概述 应用场景 基本概念 基本结构 和Spring Boot 集成 集成概述 集成环境 kafka 环境搭建 Spring Boot ...

随机推荐

  1. [微信小程序] js变量名称写活

    function create_variable(num){ var name = "test_"+num; //生成函数名 window[name] = 100; window[ ...

  2. 映射Xml文件中的数据到JavaBean中

    使用Java原生的javax.xml.bind包下的JAXBContext将一个Xml文件中的数据映射到一个JavaBean中 import java.io.File; import java.io. ...

  3. NIO流—理解Buffer、Channel概念和NIO的读写操作

    NIO流与IO流的区别 面向流与面向块 IO流是每次处理一个或多个字节,效率很慢(字符流处理的也是字节,只是对字节进行编码和解码处理). NIO流是以数据块为单位来处理,缓冲区就是用于读写的数据块.缓 ...

  4. MySQL学习【第五篇SQL语句上】

    一.mysql命令 1.连接服务端命令 1.mysql -uroot -p123 -h127.0.0.1 2.mysql -uroot -p123 -S /tmp/mysql.sock 3.mysql ...

  5. CentOS6.10安装详解

    一.简介 CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterpriser ...

  6. 【Linux】文件、目录权限及归属

    访问权限: 可读(read):允许查看文件内容.显示目录列表 可写(write):允许修改文件内容,允许在目录中新建.移动.删除文件或子目录 可执行(execute):允许运行程序.切换目录 归属: ...

  7. redis具体使用

    key 命名规则:不可包含空格和\n 创建方式: set  key value values Strings (Binary-safe strings) Lists Sets Sorted sets ...

  8. PHP操作redis之String(字符串)、List(列表)(一)

    Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key – value 缓存产品有以下三个特点: Redis支持数据的持久 ...

  9. mkdir 的详细使用说明

    mkdir 是make directory [dɪˈrɛktəri, daɪ-]的缩写,directory--目录的意思 mkdir在linux中是指新建文件目录 例如:mkdir test3 如果要 ...

  10. helpera64开发板下制作ubuntu rootfs镜像(二)

    上一篇路径:https://www.cnblogs.com/jizizh/p/10380513.html Helpera64开发板ubuntu剩于工作: 1.背光调节 答:/sys/class/bac ...