开发中的坑

1 application域对象

1.1 项目一:邮件、站内信

存在问题:邮件、站内信的内嵌链接所携带的随机码被存放到application域对象中用于进行链接的有效性校验,但项目重启后,内存清空将会导致邮件、站内信的内嵌链接失效。

解决方案:将存放到application域对象的属性更改为存放到数据库。

1.2 项目二:小程序登录

存在问题:存放到application域对象的小程序用户登录态将拥有与应用相同的生命周期,无效的登录态将导致内存泄漏,占用内存资源。

解决方案:将存放到application域对象的属性更改为存放到数据库。

需要注意:目前的做法是,小程序端登录态完全由腾讯所提供的api确定,并且默认后端所提供的登录态(JSESSIONID)永不过期。但是,后端的登录态将在服务重启后失效,所以使用了过滤器进行拦截,当后端的登录态过期后小程序端将重新调用“登录”、“授权”两个接口进行再次认证。这种做法是错误的,建议使用上面所提供的解决方案,以避免“后端的登录态将在服务重启后失效”情况的发生。

2 小程序接口调用凭证access_token

2.1 项目二

存在问题

在这里插入图片描述

  • 问题一,上图第1点,同时启动不同环境将导致access_token被覆盖而失效。
  • 问题二,上图第2点,access_token定时失效。
  • 问题三,上图第3点,access_token有效时间可能改变。

解决方案

  • 对于问题一,每个使用到access_token的小程序接口调用,都要判断是否返回的是access_token过期的错误信息,如果返回access_token过期,则需要先刷新再重新调用,新老access_token在5分钟内同时有效。
  • 对于问题二,使用定时任务定时刷新。
  • 对于问题三,如果在被定时任务刷新之前access_token已经失效,那就手动刷新。

3 百万级数据量导出

3.1 项目四:题录导出

存在问题:多个用户同时进行海量数据导出时,将会发生内存溢出。

解决方案

  • 同步加锁
  • 异步消息队列

4 模板文件

4.1 项目一的聘书模板、项目二的二维码模板、项目三的评价报告模板

存在问题:每次部署,需要手动把模板放置到配置文件所配置的磁盘路径,容易出错。

解决方案:将模板放到项目中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值