1. kafka发送方法

@Component
@Import(KafkaAutoProperties.class)
public class KafkaProducer { @Autowired
private KafkaConfigProperties kafkaConfigProperties; public void send(String topic, String msg) {
//1、准备配置文件
Properties props = new Properties();
props.put("bootstrap.servers", kafkaConfigProperties.getBootstrapServers());
props.put("acks", kafkaConfigProperties.getAcks());
props.put("retries", kafkaConfigProperties.getRetries());
props.put("batch.size", kafkaConfigProperties.getBatchSize());
props.put("linger.ms", kafkaConfigProperties.getLingerMs());
props.put("buffer.memory", kafkaConfigProperties.getBufferMemory());
props.put("key.serializer", kafkaConfigProperties.getKeySerializer());
props.put("value.serializer", kafkaConfigProperties.getValueSerializer());
//2、创建KafkaProducer
// org.apache.kafka.clients.producer.KafkaProducer<String, String> kafkaProducer = new org.apache.kafka.clients.producer.KafkaProducer<String, String>(props);
//3、发送数据
// kafkaProducer.send(new ProducerRecord<String, String>(topic, msg)); IEventHandle kafkaHandle = new KafkaEventHandle(props, topic);
kafkaHandle.process(msg);
}
}

2.消息发送接口

public interface MessageService {

    public void sendWhenShipUpdate(String value);
}

3.消息发送实现类

@Service
public class MessageServiceImpl implements MessageService {
@Autowired
private KafkaProducer kafkaProducer; @Override
public void sendWhenShipUpdate(String value) {
if(org.apache.commons.lang3.StringUtils.isBlank(value)){
throw new ApiException("船信息不能为空");
}
JSONObject message = new JSONObject();
message.put("dataType", "shipInfoUpdate");
JSONObject data = new JSONObject();
data.put("value", value);
message.put("data", data);
kafkaProducer.send("TransportDataUpdate", StringUtils.replaceBack(message.toJSONString().replace("\\",""))); }
}

4.代码中发送消息

messageService.sendWhenShipUpdate(s);

Kafka实践的更多相关文章

  1. php下kafka实践

    Kafka是一种高吞吐的分布式发布订阅消息系统 kafka安装和简单测试 安装kafka 下载 wget https://www-us.apache.org/dist/kafka/2.1.1/kafk ...

  2. Kafka实践1--Producer

    一.Kafka设计原理参考: http://blog.csdn.net/suifeng3051/article/details/48053965?locationNum=2 http://www.cn ...

  3. Kafka实践、升级和新版本(0.10)特性预研

    本文来自于网易云社区 一.消息总线MQ和Kafka (挡在请求的第一线) 1. 几个应用场景 case a:上游系统往下游系统推送消息,而不关心处理结果: case b:一份新数据生成,需要实时保存到 ...

  4. Kafka 实践

    问题描述 配置 Kafka-client 2.x, Spring-Kafka 默认配置 Kafka 三个partition, 使用KafkaListener按group消费. 现象 某天突然发现两个p ...

  5. python操作kafka实践

    1.先看最简单的场景,生产者生产消息,消费者接收消息,下面是生产者的简单代码. ------------------------------------------------------------ ...

  6. Kafka入门 --安装和简单实用

    一.安装Zookeeper 参考: Zookeeper的下载.安装和启动 Zookeeper 集群搭建--单机伪分布式集群 二.下载Kafka 进入http://kafka.apache.org/do ...

  7. 02_Kafka单节点实践

    1.实践场景 开始前的准备条件: 1) 确认各个节点的jdk版本,将jdk升级到和kafka配套的版本(解压既完成安装,修改/etc/profile下的JAVA_HOME,source /etc/pr ...

  8. kafka消费者

    from kafka import KafkaConsumer,TopicPartition import json scrapy_kafka_hosts = ["ip:端口", ...

  9. 【AI】微软人工智能学习笔记(一)

    数据分析平台 01|数据平台概况图示 上面图中所示就是微软人工智能数据平台的相关的技术. 02.1| Cortana Intelligence Suite 从上面图中可以看到, 其中有一个Cortan ...

随机推荐

  1. MyBatis动态sql之${}和#{}区别

    前言 ​ 接触mybatis也是在今年步入社会之后,想想也半年多了,缺没时间去系统的学习,只知道大概,也是惭愧. ​ 不知道有多少刚毕业的同学和我一样,到现在还没仔仔细细去了解你每天都会见到使用到的框 ...

  2. json加密

    有的时候我们为了传参数的URL比较安全,我们一般会用json加密的方法来使自己的URL安全. $a['order_sn'] = $orderNo;$data = json_encode( $a);$d ...

  3. docker安装使用教程(Kali2.0)

    一.apt安装 apt直接安装是最好的,因为apt源中的其他docker相关组件,也是与docker匹配的版本. apt-get install docker docker-compose 二.手动安 ...

  4. 尚学堂java答案解析 第三章

    本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改 一.选择题 1.A 2.BD 解析:switch的的判断表达式的数据类型:byte  short   int  ch ...

  5. Ubuntu16.04无法使用WiFi

    本人联想431,安装ubuntu16.04  lts,打开之后没有wife,参考这个解决 http://blog.csdn.net/bubblem/article/details/53575017 U ...

  6. js中有哪几种函数?

    匿名函数,回调函数,递归函数,构造函数

  7. ajax参数传递之[HttpGet]/[HttpPost]/[HttpPut]/[HttpDelete]请求

    $.ajax({ type: "get", url: "http://localhost:27221/api/Charging/GetByModel", con ...

  8. day28 黏包及黏包解决方案

    今日主要内容: 一 .缓冲区 二.两种黏包现象 三.黏包现象的两种解决方案 四.打印进度条(补充的,了解即可) 1. 缓冲区 缓冲区的作用 : 将程序和网络解耦(这样做的好处是程序不会以为网速的快慢而 ...

  9. bluemix部署(二)构建kubernetes工作环境

    本文接上篇.在bluemix中构建kubernetes容器. 1.创建集群 左上角的三横,选容器,然后创建集群. 注意区域,免费版,给个名字,创建集群吧. 继续正在部署,这个可能要15-30分钟,真不 ...

  10. mysql 内置函数和sql server 内置函数的区别

    以下函数均没有对参数做说明,使用的使用需要了解其参数内容 数据库 sql server mysql oracle 举例 获得当前系统时间 getdate() now() sysdate  注意不是函数 ...