项目中用到的rocketmq

本文介绍如何利用RocketMQ实现异步日志记录,包括集成RocketMQ环境、消息消费者配置及异常处理等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前 记录日志 是直接去对数据库进行操作

使用到rocketmq之后可以使用异步的方式 去记录日志

 在修改之前 想去调dubbo里面的mq 但是 如果mq发生异常的情况下 我们还是要去记录日志 这样那个service 是在别的模块下的 所以 我们就 不去使用dubbo了 我们就在我们需要的模块下去集成一个rocketmq的环境 集成了之后 就可以在本模块去进行调用

 

异步请求 具体实现代码如下

 我们 把数据封装成一个实体类 供consumer消费

使用RocketMQMessageListener去里面的参数 去 进行过滤

topic指定要消费的主题  selectotExperssion 指定tag

consumerGroup消费者分组

具体实现 如下

 

 

我们的这个类去继承 RocketMQListener<>然后指定泛型  重写onMessage方法这里的形参的类型就是我们RocketMQListener<>这里指定的泛型

然后使用形参.getBody()方法 获取我们要消费的内容 设置指定字符集去进行解码 

解析为的是json数据 所以我们要把json数据 转换为对象 我这里用的是fastjson的api

然后去判断一下 这个对象是否为空 如果为空的话就直接返回出去

这段代码 是mq可以总动生成的不重复的id

然后 下面的业务代码 就是进行对数据库的插入了

然后catch里面如果数据重要的话 要抛一个异常  使下次mq也可以把这条消费发过来给我们消费

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值