1. mongodb异步处理

依赖:

        <dependencies><dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-async</artifactId><version>3.0.4</version></dependency></dependencies>    

代码

public static void main(String[] args) {List<ServerAddress> address=new ArrayList<>();address.add(new ServerAddress("172.16.4.90",3000));address.add(new ServerAddress("172.16.4.91",3000));address.add(new ServerAddress("172.16.4.92",3000));ClusterSettings clusterSettings = ClusterSettings.builder().hosts(address).build();MongoClientSettings settings = MongoClientSettings.builder().clusterSettings(clusterSettings).build();MongoClient mongoClient = MongoClients.create(settings);MongoDatabase database = mongoClient.getDatabase("shardb");MongoCollection<Document> collection = database.getCollection("shardtable");Document doc = new Document("name", "MongoDB").append("type", "database").append("count", 1).append("info", new Document("x", 203).append("y", 102));Long start=System.currentTimeMillis();collection.insertOne(doc, new SingleResultCallback<Void>() {@Overridepublic void onResult(final Void result, final Throwable t) {System.out.println("Inserted cosume="+(System.currentTimeMillis()-start));}});System.out.println("response cosume="+(System.currentTimeMillis()-start));}

2.kafka异步处理

依赖:

        <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>0.9.0.0</version></dependency>

代码

public static void main(String[] args) {Properties props = new Properties();props.put("bootstrap.servers", "172.16.4.93:9092,172.16.4.94:9092,172.16.4.95:9092");props.put("acks", "all");props.put("retries", 0);props.put("batch.size", 16384);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");Producer<String, String> producer = new KafkaProducer(props);Long start=System.currentTimeMillis();for(int i = 0; i < 100; i++){//Future<RecordMetadata>  response= producer.send(new ProducerRecord<String, String>("davidwang456", Integer.toString(i), Integer.toString(i)),new Callback() {public void onCompletion(RecordMetadata metadata, Exception e) {if(e != null){e.printStackTrace();System.out.println("The offset of the record we just sent is: " + metadata.offset());}}});
/*            if(response.isDone()){System.out.println("send message to david1 message key="+i+",value="+i);}    */         }System.out.println(System.currentTimeMillis()-start);producer.close();}

结果

1. kafka的异步处理结果可以打印出来。

2. mongodb的异步处理结果没有打印出来。

转载于:https://www.cnblogs.com/davidwang456/p/5093430.html

连接mongodb,kafka异步处理代码相关推荐

  1. php mongodb连接数据库,PHP下 Mongodb 连接远程数据库的实例代码

    WINDOWS 下装MongoDB 1.在mongodb的文件夹下创建 data.logs 文件夹 和mongo.conf 命令行命令! D:\mongodb\bin> mongod --dbp ...

  2. java连接mongodb_java连接mongodb源码解读

    用mongdb也大半年了,一直是业务上的逻辑实现了就ok.然而这样并不能进步--因此今天查了查java连接mongodb驱动的源码,搜到的各种信息整合一下,方便以后深入的使用. 先贴连接数据库代码Li ...

  3. 如何连接mongodb数据库,并且从中查找数据

    最近在需要从mongodb中查找出数据,但是连接mongodb也是刚刚接触到,所有如何连接mongdb然后从中查找出数据 之前从https://www.cnblogs.com/minsons/arti ...

  4. JAVA连接 mongodb(mac OSX)

    JAVA连接 mongodb 第一步:配置java环境 第二步:下载jar包 (本人采用了直接下载,然后build path的方式) 第三步使用eclipse: 下载.安装.打开 第四步创建工程 找到 ...

  5. php+ok,php fscokopen实现数据异步调用代码

    php fscokopen实现数据异步调用代码 我们就可以使用fsockopen连接到本地服务器,触发脚本执行,然后立即返回,不等待 脚本执行完成. function triggerRequest($ ...

  6. .net core连接MongoDB

    前两天在学习MongoDB相关的知识,做了个小Demo,做的是省份下面有多少所学校,嗯,做的比较粗暴... 连接MongoDB首先要通过Nuget添加一个MongoDB的包,下载此包 安装完毕后开始写 ...

  7. kafka异步发送数据_在Kafka上异步发送数据

    kafka异步发送数据 对于一个项目,我试图记录用户的基本交易,例如添加和删除一个项目以及多种类型的项目,并为每笔交易向kafka发送一条消息. 日志机制的准确性不是至关重要的,在kafka服务器停机 ...

  8. Python 连接MongoDB并比较两个字符串相似度的简单示例

    本文介绍一个示例:使用 pymongo 连接 MongoDB,查询MongoDB中的 字符串 记录,并比较字符串之间的相似度. 一,Python连接MongoDB 大致步骤:创建MongoClient ...

  9. Scala连接mongodb数据库

    mongodb是一种面向文档的数据库,Scala是一种函数式编程语言,由于项目的关系,需要使用Scala连接mongodb数据库.下面介绍具体的方法. 就像Java连接MySQL数据库需要JDBC一样 ...

最新文章

  1. Max_user_connections 与Max_connections 与max_connect_errors
  2. Android APK应用安装原理(2)-查找APK并自动安装
  3. HttpPrinter与YunPrinter区别
  4. Hive远程模式安装(1.00)
  5. C#DataGrdviewl加入checkBox全选删除
  6. 果蝇玩VR登Nature,发现注意力机制、工作记忆都有,昆虫大脑原来没比哺乳类差多少...
  7. 【Linux】41. grep结合awk -F 获取文件中的关键内容
  8. 一次看完2019技术好文,快收藏!
  9. android:layout_weight属性的简单使用
  10. 双击硬盘盘符打不开文件的处理方法
  11. Spring : Spring AOP源码解析
  12. 字节跳动专家会_年薪30万60万!字节跳动招这个语系的语言专家!
  13. MapXtreme 2005学习(1):创建临时图层
  14. 深度学习——常用数据标注工具总结
  15. 某在线学习平台自动挂视频
  16. CorelDRAW2022最新电脑版离线安装教程
  17. Vue子组件的显示与隐藏
  18. vue生成自定义样式二维码
  19. 第一次git拉取代码到本地及身份验证失败踩坑
  20. 常用benchmark小结

热门文章

  1. C++初学基础知识——注释、变量、基本数据类型
  2. pythonsuper多重继承_小白都能理解的Python多继承
  3. geojson地图_PowerBI地图应用之形状地图
  4. python,制作山东省的地图 热力图
  5. 折纸机器人的步骤图解_折纸图解老虎
  6. C语言记录元音字母的位置,算法训练 确定元音字母位置
  7. python进展_Python3的介绍和进展-“filter()”“time()”和decorator。,入门,与,进阶,filtertime,装饰,器...
  8. orb_slam 编译错误
  9. yolov3 anchor 理解
  10. python 递归遍历二叉树