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一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
2天前
|
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)等。
17 0
|
2天前
|
监控 负载均衡 Dubbo
|
2天前
|
前端开发 Java 数据安全/隐私保护
Java学习—GUI编程学习笔记
Java学习—GUI编程学习笔记
|
7月前
|
设计模式 存储 Java
【设计模式——学习笔记】23种设计模式——备忘录模式Memento(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——备忘录模式Memento(原理讲解+应用场景介绍+案例介绍+Java代码实现)
58 0
|
7月前
|
Java 编译器
【Java学习笔记】 对象和类
【Java学习笔记】 对象和类
|
7月前
|
设计模式 存储 Java
【设计模式——学习笔记】23种设计模式——迭代器模式Iterator(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——迭代器模式Iterator(原理讲解+应用场景介绍+案例介绍+Java代码实现)
29 0
|
2天前
|
存储 缓存 安全
《java核心技术36讲》学习笔记-------杨晓峰(极客时间)
《java核心技术36讲》学习笔记-------杨晓峰(极客时间)
62 0
|
2天前
|
存储 前端开发 Java
java学习笔记
java学习笔记
63 0
|
2天前
|
XML Java 数据格式
Spring5学习笔记——狂神说Java
Spring5学习笔记——狂神说Java
|
2天前
|
安全 Java
《深入理解java虚拟机》学习笔记-----郑雨迪
《深入理解java虚拟机》学习笔记-----郑雨迪
45 0