bootstrap需要自己配置一下,其他的直接用就可以。

package com.oal.microservice.util;import com.alibaba.fastjson.JSONObject;
import com.oal.microservice.config.Bootstrap;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.springframework.beans.factory.annotation.Autowired;import java.util.List;
import java.util.Map;
import java.util.Properties;public class KafkaProducerUtils {@Autowiredprivate Bootstrap bootstrap;/**** 私有静态方法,创建Kafka生产者** @author IG* @Date 2017年4月14日 上午10:32:32* @version 1.0.0* @return KafkaProducer*/private KafkaProducer<String, String> createProducer() {Properties props = new Properties();props.put("bootstrap.servers", bootstrap.getServers());props.put("acks", "all");props.put("retries", 0);props.put("batch.size", 0);props.put("linger.ms", 1);props.put("buffer.memory", 33554432);props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");return new KafkaProducer<String, String>((props));}/**** 传入kafka约定的topicName,json格式字符串,发送给kafka集群** @author IG* @Date 2017年4月14日 下午1:29:09* @version 1.0.0* @param topicName* @param jsonMessage*/public void sendMessage(String topicName, String jsonMessage) {KafkaProducer<String, String> producer = createProducer();producer.send(new ProducerRecord<>(topicName, jsonMessage));producer.close();}/**** 传入kafka约定的topicName,json格式字符串数组,发送给kafka集群<br>* 用于批量发送消息,性能较高。** @author IG* @Date 2017年4月14日 下午2:00:12* @version 1.0.0* @param topicName* @param jsonMessages* @throws InterruptedException*/public void sendMessage(String topicName, String... jsonMessages) {KafkaProducer<String, String> producer = createProducer();for (String jsonMessage : jsonMessages) {producer.send(new ProducerRecord<>(topicName, jsonMessage));}producer.close();}/**** 传入kafka约定的topicName,Map集合,内部转为json发送给kafka集群 <br>* 用于批量发送消息,性能较高。** @author IG* @Date 2017年4月14日 下午2:01:18* @version 1.0.0* @param topicName* @param mapMessageToJSONForArray*/public void sendMessage(String topicName, List<Map<Object, Object>> mapMessageToJSONForArray) {KafkaProducer<String, String> producer = createProducer();for (Map<Object, Object> mapMessageToJSON : mapMessageToJSONForArray) {String array = JSONObject.toJSONString(mapMessageToJSON);producer.send(new ProducerRecord<>(topicName, array));}producer.close();}/**** 传入kafka约定的topicName,Map,内部转为json发送给kafka集群** @author IG* @Date 2017年4月14日 下午1:30:10* @version 1.0.0* @param topicName* @param mapMessageToJSON*/public void sendMessage(String topicName, Map<Object, Object> mapMessageToJSON) {KafkaProducer<String, String> producer = createProducer();String array = JSONObject.toJSONString(mapMessageToJSON);producer.send(new ProducerRecord<>(topicName, array));producer.close();}
}

SpringBoot Kafka工具类封装相关推荐

  1. SpringBoot Redis工具类封装

    SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果.因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable).看了很多博客后, ...

  2. Redis工具类封装讲解和实战

    Redis工具类封装讲解和实战     简介:高效开发方式 Redis工具类封装讲解和实战         1.常用客户端 https://redisdesktop.com/download      ...

  3. springboot在工具类中添加service的方法,显示为空的解决方案

    springboot在工具类中添加service的方法,显示为空的解决方案 参考文章: (1)springboot在工具类中添加service的方法,显示为空的解决方案 (2)https://www. ...

  4. IOS开发基础之音频工具类封装AVAudioPlayer

    IOS开发基础之音频工具类封装AVAudioPlayer 源码在我的主页下面 ,项目名称是AVAudioPlayer 关键性代码 工具类的封装 // // LJAudioTool.h // AVAud ...

  5. 【JavaScript学习】JavaScript 常用工具类封装

    文章目录 1.JavaScript 常用工具类封装 (1)获得浏览器地址所有参数 (2)将json转为get参数 (3)格式校验工具类 (4)数组操作工具类 (5)表单取值工具类 (6)时间转换工具类 ...

  6. Android 图片处理工具类封装2

    http://www.2cto.com/kf/201312/263638.html Android 图片处理工具类封装 2013-12-10     0个评论   来源:Wiker Yong 的专栏  ...

  7. Redis工具类封装

    Redis工具类封装 使用redis也好几年了,总是拷贝来拷贝去的,这次干脆放在这把,每次来这拷贝,不用在工程里面找来找去了. /*** Redis工具类* @author Huangliniao* ...

  8. ElasticSearch工具类封装

    最近在项目中有看到一种比较实用的ElasticSearch工具类封装方式,特此记录便于日后查阅.         1.controller层 @RequestMapping(value = " ...

  9. XmlMapper详解及工具类封装

    一.XmlMapper说明 1.依赖包引入 <dependency><groupId>com.fasterxml.jackson.dataformat</groupId& ...

  10. Redis工具类封装RedisUtils

    本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需要pom中加入对应依赖 <de ...

最新文章

  1. 河北师范大学计算机科学与技术研究生好考吗,河北师范大学计算机科学与技术怎么样...
  2. Mac-终端hostname变为bogon的问题
  3. redirect-action
  4. 【DP】【BFS】迷之阶梯
  5. 快速搭建Python+Selenium+Sublime 自动化测试环境方法
  6. 图标截取——背景偏移量技术
  7. 圣诞节平面设计师排版|首选手写字体素材,简单但非常好用。
  8. 蓝牙协议栈中的 OSAL
  9. 短期逾期影响贷款吗?
  10. bzoj 3884: 上帝与集合的正确用法(欧拉函数)
  11. ajax内调用WCF服务
  12. LINUX下的21个特殊符号
  13. JAVA-JSP内置对象之request获得所有的参数名称
  14. Windows10最常用的软件推荐V1.7
  15. 南航计算机学院院长黄志球简历,南航计算机科学与技术学院导师介绍:沈国华...
  16. 人生如游戏,容错性很关键
  17. 在网页中打开展示pdf文件
  18. 计算机硬盘空间不足解决办法,3种方法解决Windows10硬盘空间不够的问题
  19. 【不看即后悔系列】学习的真相及方法【建议收藏】
  20. 幸福婚庆策划网管理系统

热门文章

  1. 四六级对计算机考研有影响吗,英语四六级对考研有多大影响
  2. [常用类]Instant类的使用
  3. VUE系列 ---- 网络模块axios(一 )
  4. 计算机密码的怎么查询,电脑密码如何查看? 手把手教你查看方法
  5. php+aira2+ffmpeg下载m3u8文件并保存成mp4
  6. GitHub项目之12306抢票软件
  7. PCB多层板为什么都是偶数层
  8. Spark面试近300题初始版本
  9. java执行cls命令_java开发系统内核:cls 屏幕清空命令的实现
  10. 系统重装后恢复MySQL数据