通过三种方式来发送RocketMQ消息使用: 可靠的同步发送, 可靠的异步发送和单向传输。

这个页面举例说明了这三种消息发送方式. 根据示例找出最适合你的特定用例。

可靠的同步传输

应用:可靠的同步传输广泛应用于重要通知消息,短信通知,短信营销系统等..

public class SyncProducer {public static void main(String[] args) throws Exception {//Instantiate with a producer group name.DefaultMQProducer producer = newDefaultMQProducer("please_rename_unique_group_name");//Launch the instance.producer.start();for (int i = 0; i < 100; i++) {//Create a message instance, specifying topic, tag and message body.Message msg = new Message("TopicTest" /* Topic */,"TagA" /* Tag */,("Hello RocketMQ " +i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */);//Call send message to deliver message to one of brokers.SendResult sendResult = producer.send(msg);System.out.printf("%s%n", sendResult);}//Shut down once the producer instance is not longer in use.producer.shutdown();}
}

可靠的异步传输

应用:异步传输通常用于响应时间敏感的业务场景。

public class AsyncProducer {public static void main(String[] args) throws Exception {//Instantiate with a producer group name.DefaultMQProducer producer = new DefaultMQProducer("ExampleProducerGroup");//Launch the instance.producer.start();producer.setRetryTimesWhenSendAsyncFailed(0);for (int i = 0; i < 100; i++) {final int index = i;//Create a message instance, specifying topic, tag and message body.Message msg = new Message("TopicTest","TagA","OrderID188","Hello world".getBytes(RemotingHelper.DEFAULT_CHARSET));producer.send(msg, new SendCallback() {@Overridepublic void onSuccess(SendResult sendResult) {System.out.printf("%-10d OK %s %n", index,sendResult.getMsgId());}@Overridepublic void onException(Throwable e) {System.out.printf("%-10d Exception %s %n", index, e);e.printStackTrace();}});}//Shut down once the producer instance is not longer in use.producer.shutdown();}
}

单向传输

应用:单向传输用于需要中等可靠性的情况,例如日志收集.

public class OnewayProducer {public static void main(String[] args) throws Exception{//Instantiate with a producer group name.DefaultMQProducer producer = new DefaultMQProducer("ExampleProducerGroup");//Launch the instance.producer.start();for (int i = 0; i < 100; i++) {//Create a message instance, specifying topic, tag and message body.Message msg = new Message("TopicTest" /* Topic */,"TagA" /* Tag */,("Hello RocketMQ " +i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */);//Call send message to deliver message to one of brokers.producer.sendOneway(msg);}//Shut down once the producer instance is not longer in use.producer.shutdown();}
}

转自 并发编程网 – ifeve.com  地址: 《Apache RocketMQ用户指南》之简单消息示例

更多 RocketMQ的经典文章:《Apache RocketMQ用户指南》官方文档

Apache RocketMQ:简单消息示例相关推荐

  1. 消息中间件学习总结(5)——RocketMQ之Apache RocketMQ背后的设计思路与最佳实践

    摘要:为了更好地让开发者们更加深入了解阿里开源,阿里云云栖社区在3月1号了举办"阿里开源项目最佳实践"在线技术峰会,直播讲述了当前阿里新兴和经典开源项目实战经验以及背后的开发思路. ...

  2. Apache RocketMQ在我司的最佳实践--智慧政务场景下的分布式消息与分布式事务

    <本文已参与 RocketMQ Summit 优秀案例征文活动,点此了解详情> 缘起 对于Apache RocketMQ的了解,追溯起来,可以说是从开源初始,就认识到了它.那时候的它,还是 ...

  3. rocketmq支持最大消息_分布式消息引擎Apache RocketMQ最佳实践

    1 Producer一个应用尽可能用一个Topic,消息子类型用tags来标识,tags可以由应用自由设置 只有发送消息设置了tags,消费方在订阅消息时,才可以利用tags在broker做消息过滤 ...

  4. RocketMQ源码分析之从官方示例窥探:RocketMQ事务消息实现基本思想

    RocketMQ4.3.0版本开始支持事务消息,后续分享将开始将剖析事务消息的实现原理.首先从官方给出的Demo实例入手,以此通往RocketMQ事务消息的世界中. 官方版本未发布之前,从apache ...

  5. Apache Kafka教程A系列:简单生产者示例

    原文地址:https://www.tutorialspoint.com/apache_kafka/apache_kafka_simple_producer_example.htm 让我们创建一个使用J ...

  6. 从消息到数据湖:看 Apache RocketMQ、Hudi、Kyuubi 最新进展

    上海的开发者小伙伴们,12 月 18 号,Apache RocketMQ & Apache Hudi & Apache Kyuubi (Incubating)三社区 Meetup 来了 ...

  7. Apache RocketMQ 正式开源分布式事务消息

    摘要: 近日,Apache RocketMQ 社区正式发布4.3版本.此次发布不仅包括提升性能,减少内存使用等原有特性增强,还修复了部分社区提出的若干问题,更重要的是该版本开源了社区最为关心的分布式事 ...

  8. 消息中间件学习总结(15)——Apache RocketMQ 正式开源分布式事务消息

    近日,Apache RocketMQ 社区正式发布4.3版本.此次发布不仅包括提升性能,减少内存使用等原有特性增强,还修复了部分社区提出的若干问题,更重要的是该版本开源了社区最为关心的分布式事务消息, ...

  9. Activemq MQTT 简单消息推送示例

    Activemq MQTT 简单消息推送示例 简介     简单使用 MQTT 连接 Activemq 进行消息推送的示例代码 编写详情 环境准备     使用docker启动Activemq,查看M ...

最新文章

  1. 如何用两个小时入门 Docker?
  2. 折纸机器人的步骤图解_折纸图解飞机
  3. Java对存储过程的调用方法
  4. 广义逆高斯分布及推广(To be continued)
  5. cookie获取java_java中如何获取cookie
  6. 单片机中灯泡显示miss_单片机实例分享,如何设计八路抢答器
  7. 国家开放大学2021春1032成本管理题目
  8. 述职答辩提问环节一般可以问些什么_内部资料,仅供阿里在职同事传阅:晋升答辩成功要诀...
  9. java快排原理_快速排序 java实现 (原理-优化) 三路快排
  10. 通过tf的tensorboard可视化训练进度
  11. 同方linux系统怎样下载软件,同方易教管理平台V2.4使用方法
  12. vsftpd配置文件详细讲解
  13. CentOS7安装WPS中文字体问题
  14. 网站挂马检测 php,Python实现的检测网站挂马程序
  15. vue项目兼容ie浏览器
  16. kali里的powersploit、evasion、weevely等工具的杂项记录
  17. 杀死一只知更鸟——派克的经典作品
  18. 从零开始设计一个共识算法——一场没有硝烟的战争
  19. 独立显卡与集成显卡的区别
  20. The 2019 ACM-ICPC China Shannxi Provincial Programming Contest B. Product(杜教筛+约数)

热门文章

  1. 量子计算机的核心元件简称,计算机文化基础复习题(含答案).doc
  2. python医学数据挖掘_GitHub - SSSzhangSSS/Python-Data-mining-Tutorial: Python数据挖掘教程
  3. 【数学+编程】对函数进行抽象
  4. 查找算法-(顺序查找、二分查找、插值查找、斐波那契查找)
  5. Python 数据分析三剑客之 Pandas(四):函数应用、映射、排序和层级索引
  6. 【CodeForces - 569A】Music (数学公式化简,模拟追及问题)
  7. 7. Deep Learning From Scratch
  8. android 居右属性,使用layoutDirection属性设置布局靠左或靠右
  9. linux查看cpu占用最多的进程,Linux下查看占用CPU资源最多的几个进程
  10. Java集合工具类:Collections