Java 实现消息发送|学习笔记

简介: 快速学习 Java 实现消息发送

开发者学堂课程【全面讲解 Spring Cloud Alibaba 技术栈(知识精讲+项目实战)第四阶段Java 实现消息发送】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/686/detail/11906


Java 实现消息发送


接下来我们使用java代码来演示消息的发送和接收

<dependency>

<groupId>org.apache.rocketmq</groupId>

<artifactId>rocketmq-spring-boot-starter</artifactid>

<version>2.0.2</version>

</dependency>

1、发送消息

消息发送步骤:

(1)创建消息生产者,指定生产者所属的组名

(2)指定 Nameserver 地址(生产者要通过 NameServer 获取相应的 Broker 投递消息)

(3)启动生产者

(4)创建消息对象,指定主题、标签和消息体

(5)发送消息

(6)关闭生产者

//发送消息

public class RocketMQSendTest {

public static void main(String[] args)throws Exception{

//1.创建消息生产者,指定生产者所属的组名

DefaultMQProducer producer=new

DefaultMQProducer("mypr oducer-qroup");

首先添加 RocketMQ 的依赖,用 shop-order 工程来做

<dependency>

<groupId>com.itheima</groupId>

<artifactId>shop-common</artifactid>

<version>1.0-SNAPSHOT</version>

</dependency>

<!--nacos客户端-->

<dependency>

<groupId>com.alibaba.cloud</groupId>

<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactid>

</dependency>

<!--fegin-->

<dependenay>

<groupId>org.springframework.cloud</groupid>

<artifactId>spring-cloud-starter-openfeign</artifactid</dependency>

<!--sentinel-->

<dependency>

<groupId>com.alibaba.cloud</groupId>

<artifactId>spring-cloud-starter-alibaba-sentinel</artifactid></dependency>

<!--rockotMQ-->

<dependency>

<groupId>org.apache.rocketmq</groupid>

<artifactId>rocketmg-spring-boot-starter</artifactid>

<version>2.0.2</version>

</dependency>

</dependencies>

</progect>

//写代码,在 test 下面去建一个新的包

com.itheima.test.RocketMQSendMessageTest

image.png

image.png

Import

org.apache.rocketmg.client.producer.DefaultMoProdu cer;

public class RocketMOSendMessaeTest{

//发送消息

public static void main(String[] args){

//1.创建消息生产者,并且设置生产组名

DefaultMoproducer producer =new

DefaultMoproducer( prod ucerGroup: "myproducer-qroup");

//2.为生产者设置 NameServer 的地址

producer.setNamesrvAddr("192.168.109.131:9876");

//3启动生产者

producer.start();

//4.构建消息对象,主要是设置消息的主题标签内容

new Messaae( topic: "myTopic",tags: "myTag" ("Test

Rocket MO Message") .aetBytes(()).var

//5.发送消息 第二个参数代表超时时间

Sendresult result =producer.send(message, timeout:10000);

System.out.println(result);

//6.关闭生产者

producer.shutdown();

}

}

代码编写完毕,启动测试:

image.png看到结果,发送成功,发送是 OK 的并且将 message 在 Rocket MQ 里面的标识已经返回来,后面还有更加详细的信息、主题、哪个Brocket 处理、队列是放在哪里面都有。

通过控制台也可以再看一下后台里面里面有各个选项。比如通过主题里面可以查看一下新增的主题 mytopic,里面有各个处理向可以自己去看。

image.png

image.png

image.png

可以通过消息的按钮选主题,点击 mytopic 搜索。image.png

image.png

Message ID 可以对上号,点击 MESSAGE DETAIL 可以看到消息的详细内容。

image.png

image.png

可以看到 ID、主题、标签发送的时间、存储的时间以及消息的具体内容。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
5月前
|
Java 编译器 开发工具
Java基础学习笔记——idea篇
JDK由JRE(包含JVM和核心类库)和开发工具箱(如javac编译器和java运行工具)组成。Java项目结构包括Project、Module、Package和Class。IDEA快捷键包括:生成main方法(main psvm)、复制代码(Ctrl+D)、删除代码(Ctrl+Y/X)、格式化代码(Ctrl+Alt+L)、重命名(Shift+F6)等。
46 0
|
5月前
|
监控 负载均衡 Dubbo
|
5月前
|
前端开发 Java 数据安全/隐私保护
Java学习—GUI编程学习笔记
Java学习—GUI编程学习笔记
|
2月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
28天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
28天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
|
28天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
|
2月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
50 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
2月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
72 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
5月前
|
存储 缓存 安全
《java核心技术36讲》学习笔记-------杨晓峰(极客时间)
《java核心技术36讲》学习笔记-------杨晓峰(极客时间)
136 0