当前位置: 首页 > news >正文

作文生成器网站北京seo招聘信息

作文生成器网站,北京seo招聘信息,开发公司产品部课件,wordpress重定向次数过多310作为一个消息队列,RabbitMQ 也可以作为应用程序之间的通信. 消费者代码生产者代码放在不同的应用中即可完成不同应用程序之间的通信 下面以订单程序为例,展示的就是一种基于 Spring RabbitMQ 实现的应用间的通信 需求描述: 用户下单成功后,,通知物流系统,进行发货(此处只进…

作为一个消息队列,RabbitMQ 也可以作为应用程序之间的通信.

消费者代码生产者代码放在不同的应用中即可完成不同应用程序之间的通信

下面以订单程序为例,展示的就是一种基于 Spring + RabbitMQ 实现的应用间的通信

需求描述:

用户下单成功后,,通知物流系统,进行发货(此处只进行应用间通信,不实现其他的具体功能)

订单系统作为一个生产者,物流系统作为一个消费者

1. 创建项目

这里我把两个项目放到一个项目里面,也可以进行拆开

1~ 创建一个空项目(一个空的文件夹)

2~ 在项目中,创建 Module

3~ 后面的流程和创建 SpringBoot 相同

此处创建出两个项目  1) logistics-service    2) order-service

如果创建的项目出现如下情况,说明该项目没有被加载成 Maven 项目

pom 文件图标显示不同

  正常情况

修改配置文件

  最终结构

2. 订单系统(生产者)

声明队列

编写下单接口,下单成功后,发送订单消息

查看消息

3. 物流系统(消费者)

监听队列

@RabbitListener(queues = "order.queue") 可以加在类上, 也可以加在方法上, 用于定于一个类或者方法作为消息的监听器
@RabbitHandler 是一个方法级别的注解, 当使用 @RabbitHandler 注解时, 这个方法将被调用处理特定的消息 

(从队列中获取到的消息类型可能会不同,该注解会根据消息的类型去匹配不同方法的参数,调用不同的方法)

访问订单系统的接口,在物流系统的日志中观察到下单消息

发送消息的格式为对象

创建 OrderInfo 实体类,并实现 Serializable 接口(不需要重写)

修改生产者代码

发送消息

上述消息是被序列化为 二进制 的结果,难以观察

如果通过 RabbitTemplate 发送一个对象作为消息, 我们需要对该对象进行序列化
Spring AMQP推荐使用JSON序列化,Spring AMQP提供了 Jackson2JsonMessageConverter 和
MappingJackson2MessageConverter 等转换器, 我们需要把一个 MessageConverter 设置到RabbitTemplate 中
1. 修改生产者代码
将消息序列化
2. 修改消费者代码
此处将 order-service 打成一个 jar 包供 消费者引用(非正常情况)
--> 可以将 OrderInfo 提取出来分别供生产者和消费者使用
生产者把消息序列化,消费者也需要把消息序列化
重启服务,发送消息
http://www.dtcms.com/a/560884.html

相关文章:

  • 常州网站设计制作贵美商城网站的首页怎么做代码
  • 新媒体矩阵系统全景解析:赋能企业数字化营销的智能引擎
  • 多目标优化问题在适应度计算中的支配矩阵
  • 从零开始的云原生之旅(九):云原生的核心优势:自动弹性伸缩实战
  • 【Swift】LeetCode 240.搜索二维矩阵 II
  • 矩阵(板子)
  • 防火墙的内容补充
  • C++类和对象(下):初始化列表
  • 建筑工程找活网站wordpress文章新窗口
  • 沭阳城乡建设局网站做外国网站百度搜到
  • java-接口适配器模式 jsk8 接口默认实现
  • program.cs文件详解
  • 深圳市企业网站seo做东西的网站有那些
  • 京东测开面经整理(日常实习)
  • 大文件上传
  • 做ppt找图片网站推广网发布的信息准确吗
  • Linux内核POSIX文件锁机制深度解析
  • 从“CPU 烧开水“到优雅暂停:Go 里 sync.Cond 的正确打开方式
  • 大模型系列——Excel数据治理新思路:引入智能体实现自动纠错【Python+Agent】
  • Pyppeteer 使用教程
  • React性能优化:useMemo vs useCallback
  • Onsemi展示了垂直GaN-on-GaN半导体
  • 专业机票网站建设禅城区建设局网站
  • Java 日志演进:一文读懂主流框架
  • 第3章 变量与数据类型
  • pyside6 qt 事件循环
  • Secertpad搭建
  • 吞吐量、延迟、内存:深入理解垃圾回收的“三元悖论”
  • List接口和常用方法
  • 计算机一级考试网站怎么做用织梦系统做网站产权