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. Oracle11g温习-第十九章:审计(audit)

    2013年4月27日 星期六 10:52 1.审计的功能:监控用户在database 的 action (操作) 2.审计分类 1) session :在同一个session,相同的语句只产生一个审计 ...

  2. 7. 反转整数(Reverse Integer) C++

    知识点: 内置变量 INT_MAX   INT_MIN 运算结果是否溢出的判断 判断pop>7即pop>INT_MAX%10 判断pop<-8即pop<INT_MIN%10 c ...

  3. 2017-4-18/缓存、CDN

    1. 什么是缓存,为什么要用缓存? 缓存就是数据交换的缓冲区(称作Cache),是存贮数据(使用频繁的数据)的临时地方.当用户查询数据,首先在缓存中寻找,如果找到了则直接执行.如果找不到,则去数据库中 ...

  4. python中RabbitMQ的使用(路由键模糊匹配)

    路由键模糊匹配 使用正则表达式进行匹配.其中“#”表示所有.全部的意思:“*”只匹配到一个词. 匹配规则: 路由键:routings = [ 'happy.work',  'happy.life' , ...

  5. Python条件判断和循环,range()函数

    条件判断经常使用if语句进行判断,表达方式为:if 条件语句:      :elif:else if...用于执行第一条不满足if的判断,继续执行其它的判断.比如一个简单的if判断 Python3取消 ...

  6. easyUI的form表单重复提交处理

    1. 问题 生产环境出现过新增用户提交, 入库两条重复数据的情况; 但是我查看代码, 页面做了校验, 后台插入数据也做了校验;  出现这种几率的事件的非常小的, 但是还是会碰到, 客户会对我们的产品产 ...

  7. Qt Widgets——子区域和子窗口

    QMdiArea 一般使用于主窗口QMainWindow,用于容纳多个子窗口QMdiSubWindow qt creator 3.0的设计师有MdiArea可直接拖入使用. 界面如下,图中灰色框即是个 ...

  8. windows工具打开命令

    程序 命令 位置 记事本 notepad C:\Windows\system32 ping ping C:\Windows\System32 服务管理器 services.msc C:\Windows ...

  9. FFmpeg点播慢的最终方案

    转载: 音视频交流群  发的一个总结.  原作者 请查看相关博客作者 http://blog.51cto.com/fengyuzaitu/2061036 场景要求 项目要求点播速度是300到500毫秒 ...

  10. 外部调用mvc的api方法时,如何解决跨域请求问题?

    首先,创建一个mvc项目(包含webapi),我们模拟一个场景 1)在项目的Controller 创建一个WeiXinApiController public class WeiXinApiContr ...