生产者发送消息调用send方法

下面介绍了官方提供的三种方式。

import org.apache.kafka.clients.producer.Callback;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;import java.util.Properties;/*** @Auther: le* @Date: 2019/4/23 22:05* @Description:*/
public class MyProducer implements Job {private static KafkaProducer<String,String> producer;static {Properties properties = new Properties();properties.put("bootstrap.servers","127.0.0.1:9092");properties.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");properties.put("value.serializer","org.apache.kafka.common.serialization.StringSerializer");producer = new KafkaProducer<String, String>(properties);}/*** 第一种直接发送,不管结果 有些异常捕捉不到  异步发送*/private static void sendMessageForgetResult(){ProducerRecord<String,String> record = new ProducerRecord<String,String>("kafka-study","name","Forget_result");producer.send(record);producer.close();}/*** 第二种同步发送,等待执行结果 同步发送* @return* @throws Exception*/private static RecordMetadata sendMessageSync() throws Exception{ProducerRecord<String,String> record = new ProducerRecord<String,String>("kafka-study","name","sync");RecordMetadata result = producer.send(record).get();System.out.println(result.topic());System.out.println(result.partition());System.out.println(result.offset());return result;}/*** 第三种执行回调函数  异步发送*/private static void sendMessageCallback(){ProducerRecord<String,String> record = new ProducerRecord<String,String>("kafka-study","name","callback");producer.send(record,new MyProducerCallback());}

kafka send方法详解 (同步异步) 小白使用记录相关推荐

  1. python 生成器 send_python(可迭代对象,迭代器,生成器及send方法详解)

    一.可迭代对象 对象必须提供一个__iter__()方法,如果有,那么就是可迭代对象, 像列表,元祖,字典等都是可迭代对象 可使用isinstance(obj,Iterable)方法判断 1 from ...

  2. ret php,php生成器的send方法详解,php yield send

    [一].基本用法 首先看看官方对send方法的解释:Sets the return value of the yield expression and resumes the generator (u ...

  3. mysql master 配置_MySQL双Master配置的方法详解

    刚刚抽空做了一下MYSQL 的主主同步.把步骤写下来,至于会出现的什么问题,以后随时更新.这里我同步的数据库是TEST1.环境描述.主机:192.168.0.231(A)主机:192.168.0.23 ...

  4. PHP连接redis并执行redis相关命令的方法详解

    PHP连接redis并执行redis相关命令的方法详解 连接redis库的方法 共性的运算归类 redis服务类函数 set 操作增删改查 List栈的结构,注意表头表尾,创建更新分开操作 Set,没 ...

  5. 线程池invokeAll方法详解

    线程池invokeAll方法详解 问题起源与抽象 问题排查与猜测 猜测一:invokeAll 在异步执行后会不会同步等待线程执行完毕获取最终结果 猜测二:队列里面可能存在第一次调用 invokeAll ...

  6. 小程序setdata优化_微信小程序 setData的使用方法详解

    微信小程序 setData的使用方法详解 微信小程序 setData的使用方法详解 最近在使用微信小程序的setData时,遇到了以下问题.如下: 官网文档在使用setData()设置数组对象的某个元 ...

  7. 【前端用法】$.ajax()方法详解,以及$.ajax()标准写法

    使用JQuery中的异步请求$.ajax()方法,经常记不全参数,所以在这里记录一下,方便后续使用. 首先看一个标准的写法: $(document).ready(function () {$.ajax ...

  8. PHP宽带自动拨号,window_Win10怎么设置宽带自动连接 win10开机自动连接宽带设置方法详解,对于没有使用路由器中转,每 - phpStudy...

    Win10怎么设置宽带自动连接 win10开机自动连接宽带设置方法详解 对于没有使用路由器中转,每次开机都需要进行宽带连接拨号上网的用户来说,每次打开电脑都需要打开宽带连接进行拨号才能正常上网是不是很 ...

  9. linux expect 输入密码,shell脚本无密码登录 expect的使用方法详解

    shell脚本无密码登录 expect的使用方法详解 今天需要做一个定时任务脚本将最新的数据包文件传到远程的服务器上,虽然有密钥但也是要求输入密码的那种,所以只能另想办法实现让脚本自动输入密码了. 从 ...

最新文章

  1. 【Prometheus】Exporter详解
  2. spring与springBoot不同之处
  3. Spring Framework 5.3.6、5.2.14 发布
  4. Python批量修改文件格式
  5. [蓝桥] 算法提高 队列操作
  6. Boost:alignment对齐的测试程序
  7. java中无符号右移怎么移_Java | java中>>(右移)和>>>(无符号右移)的区别...
  8. 欢乐纪中B组周五模拟赛【2019.3.8】
  9. 微信小程序|开发实战篇之十一---商品页面和购物车页面
  10. 【LOJ10034】图书管理(哈希表,字符串)
  11. 来吧,给自己提个醒,哭着复习一下当初没好好学习的内容。
  12. powerDesigner Could not Initialize JavaVM解决
  13. 迷宫算法,求解所有路径(DFS),(bug找了好久 )
  14. 快速入门机器学习——特征抽取
  15. NetworkManager is not running
  16. Codeforces 855G Harry Vs Voldemort 边双连通分量+并查集
  17. 后渗透篇:CLSID大全
  18. Ubuntu Linux环境下VSCode无法键入中文
  19. echart 实现地图坐标轴带图标
  20. ABP Vnext 学习03-授权中心微信小程序登录

热门文章

  1. HBase java 的增删改查
  2. C语言常见开发工具的安装和配置
  3. 梅科尔工作室-江凌宇-鸿蒙笔记2
  4. jieba和wordcloud红楼梦人物出现次数生成词云
  5. 爬了3000万QQ用户数据,挖出了花千骨赵丽颖的QQ号
  6. 网狐大联盟创建没反应修复
  7. 最受欢迎的海外服务器,优缺点都给你整理好了
  8. 警惕 CONFIG+=ordered
  9. MapReduce重点知识
  10. Java函数式编程学习——Stream流