CloudAlibabaRocketMQ之照着笔记写代码笔记就是生产力

异步

实现异步的几个方法

  1. 使用 AsyncRestTemplate. 参考
  2. 使用@Async 注解. 参考
  3. 使用WebClint 实现 参考
    以及
  4. MQ.(我们这里使用的)

引入MQ架构

引入 MQ之后. 获取 机器人通过 MQ 调用 淘宝客对应的商品信息

使用

下载
rocketMQ
或者看这个: 中文版的文档
RocketGithub
慕课网
看不懂英文可以按照慕课手记进行配置.
插件
这个是 github 上的文档.照着走就行

概念 & 术语

概览
在这里插入图片描述

进阶

SpringCloud 下 可以使用任意 MQ.

生产者

  1. 依赖
    在这里插入图片描述
    这里的starter 使用的版本和 目标不符合. 所以需要自己只需版本
2.0.3
  1. 配置
rocketmq:
  name-server: 127.0.0.1:9876
  producer:
    # 指定 group
    # 这里的 group 必填.
    group: test-group
  1. 代码
@AUtowrited
private RocketMQTempalte rocketMQTempalte;
rocketMQTempalte.convertAndSend("topic","payload");
  1. 定义 payload
public class UserDto{
	
}

在这里插入图片描述

消费者

  1. 依赖
    之前的
  2. 配置
rocketmq:
  name-server: 127.0.0.1:9876
  1. 代码
    1. 添加注解
      @RockeMQMessageListener(consumerGroup="",topic="")
      这里的group是消费者的group. 和生产者不一样
      topic 则 是主题,要和生产者一致
    2. 重写 RockerMQLinstener<?>(这里填写消息体类型)
    3. 重写 onMessage 方法
    4. 编写业务逻辑

分布式事务01

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分布式事务编码

发送 &半消息& 发送成功

  1. 新增表(内容中心)
    在这里插入图片描述
  2. 发送半消息

在这里插入图片描述
这里的 auditDTO 是 自定义 JavaBean 对象
在这里插入图片描述

执行本地事务

@RocketMQTransactionListener(txProducerGroup = "")
public class addBoundsTransactionListener implements RocketMQTransactionListener{
	@Override
	public RocketMQLocalTransactionState executeLocalTransaction(Message msg,Object arg){}
	// 第四步,检查本地事务有没有执行成功
	@Override
	public RocketMQLocalTransactionState checkLocalTransaction(Message msg){}
}

执行本地事务
就是本地的Mapper的代码
在这里插入图片描述
回查方法
回查方法 使用一开始添加的 表:
在这里插入图片描述
如果有数据,则执行成功,如果没数据,则执行失败
具体代码
插入一条表数据.
在这里插入图片描述
回查是否有对应的数据
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值