Kafka安装之三 spring-kafka实践
一、spring-kafka配置详解
1.1 要是用spring-kafka 我们首先要在pom要。xml中引入spring-kafka包
- <dependencies>
- <dependency>
- <groupId>org.springframework.kafka</groupId>
- <artifactId>spring-kafka</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-websocket</artifactId>
- </dependency>
- </dependencies>
1.2 配置文件application.properties 中对kafka进行配置
- spring.kafka.bootstrap-servers=172.21.13.26:
- spring.kafka.consumer.auto-offset-reset=latest
- spring.kafka.consumer.group-id=local_test
- spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
- spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
- spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
- spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
二、spring-kafka生产者源码
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.kafka.core.KafkaTemplate;
- import org.springframework.stereotype.Component;
- /**
- * Created by wuxiaowei on 2018/1/10 0010.
- */
- @Component
- public class KafkaSender {
- public KafkaSender() {
- }
- @Autowired
- private KafkaTemplate kafkaTemplate;
- public void sendMessage(String topic, String message) {
- kafkaTemplate.send(topic, message);
- }
- }
三、spring-kafka消费者源码
使用监听@KafkaListener监听消息,并通过WebSocket发送消息到页面
- import com.saas.mq.controller.WebSocketMessage;
- import com.saas.mq.model.Body;
- import com.saas.mq.model.MessageBody;
- import java.io.IOException;
- /**
- * Created by wuxiaowei on 2018/1/11 0011.
- */
- public class SendMessage extends Thread {
- private String message;
- public SendMessage(String message) {
- this.message = message;
- }
- @Override
- public void run() {
- MessageBody messageBody = JSONObject.parseObject(this.message, MessageBody.class);
- Body body = messageBody.getResults().stream().findFirst().get();
- String resut = body.getV();
- for (WebSocketMessage item : WebSocketMessage.webSocketSet) {
- try {
- item.sendMessage("receive:" + resut);
- } catch (IOException e) {
- e.printStackTrace();
- continue;
- }
- }
- }
- import org.springframework.kafka.annotation.KafkaListener;
- import org.springframework.stereotype.Component;
- /**
- * Created by wuxiaowei on 2017/10/25 0025.
- */
- @Component
- public class KafkaConsumer {
- @KafkaListener(topics = "test")
- public void processMessage(String content) {
- SendMessage message = new SendMessage(content);
- message.start();
- }
- }
Kafka安装之三 spring-kafka实践的更多相关文章
- hadoop 之 kafka 安装与 flume -> kafka 整合
62-kafka 安装 : flume 整合 kafka 一.kafka 安装 1.下载 http://kafka.apache.org/downloads.html 2. 解压 tar -zxvf ...
- 【kafka学习之三】kafka集群运维
kafka集群维护一.kafka集群启停#启动kafka/home/cluster/kafka211/bin/kafka-server-start.sh -daemon /home/cluster/k ...
- Spring Kafka和Spring Boot整合实现消息发送与消费简单案例
本文主要分享下Spring Boot和Spring Kafka如何配置整合,实现发送和接收来自Spring Kafka的消息. 先前我已经分享了Kafka的基本介绍与集群环境搭建方法.关于Kafka的 ...
- kafka安装使用
版本:kafka_2.11-0.10.1.0 (之前安装2.10-0.10.0.0,一直出问题) 安装 Springboot结合Kafka的使用 安装 下载并解压代码 wget http://mir ...
- kafka安装和使用
kafka安装和启动 kafka的背景知识已经讲了很多了,让我们现在开始实践吧,假设你现在没有Kafka和ZooKeeper环境. Step 1: 下载代码 下载0.10.0.0版本并且解压它. &g ...
- Kafka安装及开启SASL_PLAINTEXT认证(用户名和密码认证)
前些日子要封装一个kafka的客户端驱动,配置了下kafka环境,发现配置复杂度完爆rabbitmq很多倍啊,而且发布订阅模式使用起来也很麻烦,可能就胜在分布式了吧. kafka需要java环境,自行 ...
- Kafka安装与配置(windows)
作者:灬花儿灬 出处:http://www.cnblogs.com/flower1990/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...
- Spring Kafka整合Spring Boot创建生产者客户端案例
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 创建一个kafka-producer-master的maven工程.整个项目结构如下: ...
- Kafka 入门和 Spring Boot 集成
目录 Kafka 入门和 Spring Boot 集成 标签:博客 概述 应用场景 基本概念 基本结构 和Spring Boot 集成 集成概述 集成环境 kafka 环境搭建 Spring Boot ...
随机推荐
- [微信小程序] js变量名称写活
function create_variable(num){ var name = "test_"+num; //生成函数名 window[name] = 100; window[ ...
- 映射Xml文件中的数据到JavaBean中
使用Java原生的javax.xml.bind包下的JAXBContext将一个Xml文件中的数据映射到一个JavaBean中 import java.io.File; import java.io. ...
- NIO流—理解Buffer、Channel概念和NIO的读写操作
NIO流与IO流的区别 面向流与面向块 IO流是每次处理一个或多个字节,效率很慢(字符流处理的也是字节,只是对字节进行编码和解码处理). NIO流是以数据块为单位来处理,缓冲区就是用于读写的数据块.缓 ...
- MySQL学习【第五篇SQL语句上】
一.mysql命令 1.连接服务端命令 1.mysql -uroot -p123 -h127.0.0.1 2.mysql -uroot -p123 -S /tmp/mysql.sock 3.mysql ...
- CentOS6.10安装详解
一.简介 CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterpriser ...
- 【Linux】文件、目录权限及归属
访问权限: 可读(read):允许查看文件内容.显示目录列表 可写(write):允许修改文件内容,允许在目录中新建.移动.删除文件或子目录 可执行(execute):允许运行程序.切换目录 归属: ...
- redis具体使用
key 命名规则:不可包含空格和\n 创建方式: set key value values Strings (Binary-safe strings) Lists Sets Sorted sets ...
- PHP操作redis之String(字符串)、List(列表)(一)
Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key – value 缓存产品有以下三个特点: Redis支持数据的持久 ...
- mkdir 的详细使用说明
mkdir 是make directory [dɪˈrɛktəri, daɪ-]的缩写,directory--目录的意思 mkdir在linux中是指新建文件目录 例如:mkdir test3 如果要 ...
- helpera64开发板下制作ubuntu rootfs镜像(二)
上一篇路径:https://www.cnblogs.com/jizizh/p/10380513.html Helpera64开发板ubuntu剩于工作: 1.背光调节 答:/sys/class/bac ...