没有合适的资源?快使用搜索试试~ 我知道了~
Spring boot项目redisTemplate实现轻量级消息队列的方法
33 下载量 92 浏览量
2020-08-26
03:43:19
上传
评论
收藏 645KB PDF 举报
温馨提示
试读
8页
主要给大家介绍了关于Spring boot项目redisTemplate实现轻量级消息队列的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
资源推荐
资源详情
资源评论
Spring boot项目项目redisTemplate实现轻量级消息队列的方法实现轻量级消息队列的方法
主要给大家介绍了关于Spring boot项目redisTemplate实现轻量级消息队列的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring
boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
背景背景
公司项目有个需求, 前端上传excel文件, 后端读取数据、处理数据、返回错误数据, 最简单的方式同步处理, 客户端上传文件后一直阻塞等待响应, 但用户体验无疑很差, 处理数据
可能十分耗时, 没人愿意傻等, 由于项目暂未使用ActiveMQ等消息队列中间件, 而redis的lpush和rpop很适合作为一种轻量级的消息队列实现, 所以用它完成此次功能开发
一、本文涉及知识点一、本文涉及知识点
excel文件读写--阿里easyexcel sdk
文件上传、下载--腾讯云对象存储
远程服务调用--restTemplate
生产者、消费者--redisTemplate leftPush和rightPop操作
异步处理数据--Executors线程池
读取网络文件流--HttpClient
自定义注解实现用户身份认证--JWT token认证, 拦截器拦截标注有@LoginRequired注解的请求入口
当然, Java实现咯
涉及的知识点比较多, 每一个知识点都可以作为专题进行学习分析, 本文将完整实现呈现出来, 后期拆分与小伙伴分享学习
二、项目目录结构二、项目目录结构
说明: 数据库DAO层放到另一个模块了, 不是本文重点
三、主要三、主要maven依赖依赖
1、、easyexcel
<easyexcel-latestVersion>1.1.2-beta4</easyexcel-latestVersion>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>${easyexcel-latestVersion}</version>
</dependency>
JWT
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.7.0</version>
</dependency>
redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.3.5.RELEASE</version>
</dependency>
腾讯cos
<dependency>
<groupId>com.qcloud</groupId>
<artifactId>cos_api</artifactId>
<version>5.4.5</version>
</dependency>
四、流程四、流程
1. 用户上传文件
2. 将文件存储到腾讯cos
3. 将上传后的文件id及上传记录保存到数据库
4. redis生产一条导入消息, 即保存文件id到redis
5. 请求结束, 返回"处理中"状态
6. redis消费消息
7. 读取cos文件, 异步处理数据
8. 将错误数据以excel形式上传至cos, 以供用户下载, 并更新处理状态为"处理完成"
资源评论
weixin_38599537
- 粉丝: 8
- 资源: 923
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功