1. kafka发送方法

  1. @Component
    @Import(KafkaAutoProperties.class)
    public class KafkaProducer {
  2.  
  3. @Autowired
    private KafkaConfigProperties kafkaConfigProperties;
  4.  
  5. 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));
  6.  
  7. IEventHandle kafkaHandle = new KafkaEventHandle(props, topic);
    kafkaHandle.process(msg);
    }
    }

2.消息发送接口

  1. public interface MessageService {
  2.  
  3. public void sendWhenShipUpdate(String value);
    }

3.消息发送实现类

  1. @Service
    public class MessageServiceImpl implements MessageService {
    @Autowired
    private KafkaProducer kafkaProducer;
  2.  
  3. @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.  
  5. }
    }

4.代码中发送消息

  1. 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. java多线程wait()方法必须放在while循环里面的原因探析

    1.写一个包子生产消费案例:一次生产或消费一个包子,有包子就消费,没有就生产.(部分代码参考传智播客刘意2015Java基础视频讲义) 1.1 写一个Baozi.class,包含main()方法,用来 ...

  2. leetcode-algorithms-10 Regular Expression Matching

    leetcode-algorithms-10 Regular Expression Matching Given an input string (s) and a pattern (p), impl ...

  3. python 日期操作【转】

    SQLite中的时间日期函数这是我学习SQLite时做的笔记,参考并翻译了Chris Newman写的<SQLite>中的<Working with Dates and Times& ...

  4. WDA基础十四:ALV字段属性配置表

    ALV配置表管理 一.字段属性配置表 对于可编辑的ALV不用这个,尽可能多的设置一些控制: 单元格类型:默认A,特殊选择 ZLYE_TYPE        E       A       1      ...

  5. 如何使a标签打开新页面并阻止刷新当前页面

    错误: HTML中,使用href属性时,当前页面和新页面均跳转到URL指定的页面,即当前页面也刷新: <li id='goToBack'><a href='**.action' ta ...

  6. Lunx下 怎样启动和关闭oracle数据库

    1.因为oracle运行在Linux系统下,首先,要连接Linux系统 2.切换到oracle安装用户下. 我的是 ora12. 3.运行oracle的环境变量, 以便输入相关命令. 4.进入orac ...

  7. Qt Widgets——抽象按钮及其继承类

    QAbstractButton是有关“按钮”的基类 描述了一个按钮应该具有的组成.它的公有函数如下: QAbstractButton(QWidget * parent = ) ~QAbstractBu ...

  8. python3 get/post/使用代理/自定义header/自定义Cookie

    说明:urllib发送http请求并不是很人性化,更推荐使用在urllib基础上封装的.python2和python3都兼容的requests模块,移步查看. 一.get请求 get请求就是在构造Re ...

  9. jcmd

    1.jps 2.jcmd 1761[pid] PerfCounter.print 查看指定进程的性能统计信息 概述 在JDK1.7以后,新增了一个命令行工具 jcmd.他是一个多功能的工具,可以用它来 ...

  10. Linux int 最大为多大

    可以查看 /usr/include/limits.h 文件 里面定义好了各种类型的最大最小值 ... /* Minimum and maximum values a `signed int' can ...