
项目经验
猿团长
自学励志成为小小程序猿
展开
-
如何高效的触发设备离线
业务场景业务开发过程中,我们经常会需要判断远程终端是否在线,当终端离线的时候我们需要发送消息告知相应的系统,例如:设备通过mqtt与服务端进行交互,通过心跳来上报设备的运行状态,如果超过30秒未上报设备信息则判断设备离线关闭相应的连接通道一般处理这种业务场景有2种比较常见的方法轮询法使用一个Map<uid, last_time>来记录设备每次心跳的最后时间,当设备发送心跳...原创 2020-03-31 20:05:10 · 3487 阅读 · 0 评论 -
SpringBoot整合shiro(一)基础配置
公司项目采用的spring-boot框架。在做用户权限功能的时候准备采用shiro权限框架。前面也考虑过spring家族的spring security安全框架。但是经过网上查询对比最终选择了shiro。因为shiro含有基本的安全控制功能,并且配置更为简单,使用也更加简洁。 首先引入shiro依赖jar包 <dependency> <...原创 2018-05-28 16:14:47 · 15265 阅读 · 8 评论 -
SpringBoot整合shiro(二)跳转异常,缓存
前面发那篇文章忘记贴怎么开启接口的权限了这里进行补充@RestController@RequestMapping("user")public class UserController(){ /** * 测试 * @return */ @RequestMapping("/test") //拥有此权限的才可以访问 @Requir...原创 2018-05-28 16:38:46 · 2039 阅读 · 0 评论 -
SpringBoot整合shiro(二)自定义sessionManager
传统结构项目中,shiro从cookie中读取sessionId以此来维持会话,在前后端分离的项目中(也可在移动APP项目使用),我们选择在ajax的请求头中传递sessionId,因此需要重写shiro获取sessionId的方式。自定义ShiroSessionManager类继承DefaultWebSessionManager类,重写getSessionId方法,import org.ap...原创 2018-05-28 16:49:37 · 21044 阅读 · 7 评论 -
SpringBoot整合Druid连接池
SpringBoot 1.x版本默认使用的的tomcat的jdbc连接池。前期快速开发并没有采用更好的连接池。由于jdbc性能,稳定性,监控能力都不如druid连接池。所以将连接池更改为druid连接池。 一. maven引入依赖包 <!--阿里连接池--> <dependency> <groupId...原创 2018-06-01 15:42:53 · 1802 阅读 · 1 评论 -
mysql简单性能调优(一)
以前都是做小项目,数据库表的数据一般都不超过十万条。最近接手一考试项目,个别表的数据已经超过四百万的数据量。数据库一直没有优化过,所幸表字段不多,并没有照成很大的隐患。借此机会学习一下mysql的性能调优。mysql读取sql语句顺序一条sql语句经过机器解析,会分成若干个读取步骤。机器根据步骤来进行全表扫描匹配查询出我们想要的结果。mysql的顺序步骤为:FROM>ON–JOIN&...原创 2018-11-01 11:14:54 · 615 阅读 · 0 评论