code
未读
监听器&过滤器中注入 Bean 的问题
前言 之前提到过在使用Redis发布订阅模式解决集群环境下WebSocket通讯问题的时候,遇到了在监听器中无法使用@Autowired注解注入bean的问题,百度查询了一下,有多种解决方案,这里记录一下我使用的方法。 原因分析 由于Spring启动对IOC容器初始化也是监听的Servlet
code
未读
Redis 发布订阅模式
前言 项目中新增在线咨询功能,使用netty框架实现。代码开发完毕在本地调试没有问题,放到sit环境测试中出现部分消息无法接收到的情况,排查后定位到问题是由于后端项目集群部署导致,记录一下处理过程。 原因分析 netty框架中客户端与服务端建立的websocket链接后会在当前服务器产生一个
code
未读
XStream 类和内存泄漏分析
前言 最近项目在进行性能测试,在最后做稳定性测试的过程中出现一个问题:前几个小时tps一直很稳定,过了某一个时间点,tps随着时间的推移不断下降,直到降为0。观察平台监控,发现内存开销不断上升,通过监控定位到产生问题的代码为一个使用XStream的工具类,工具类中使用XStream实现了xml与
code
未读
使用 jasypt 加密配置
前言 项目的配置文件中数据库密码以及redis密码是明文形式,要求改造成密文,网上查了一下,决定使用jasypt进行加密改造,记录一下改造过程。 正文 pom文件中引入jar包,版本可自行更换。 <!-- jasypt加密jar -->
<dependency>
<groupId>com
code
未读
Spring 定时器在 Tomcat 上执行两次的问题
前言 springboot项目中用到了定时器,用的是spring的@Scheduled注解,每天早上九点执行,发送公众号消息提醒。今天接收到了提醒,发现提醒发送了两次,然后查看日志文件发现定时任务到点执行了两次。百度了一下发现有几种说法,总结一下。 正文 第一种说法,因为没有移除springbo
数据库
未读
SQL 中 union all 与 order by 的同时使用
前言 今天在开发中多个查询语句order by后,使用union all连接时遇到了问题,百度了一下发现想要对表的多次查询结果分别排序再合并是不可行的。union的子句中不允许出现order by,百度到了解决方法,这里记录一下。 正文 当union all和order by如下一起使用时,sq
code
未读
SpringBoot 下的 PageHelper 分页插件
前言 本篇文章只讲解怎么使用,不涉及原理和源码。 正文 在pom.xml中引入PageHelper的jar包; <dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-
code
未读
Spring 中的 JdbcTemplate 的 crud 用法
前言 JPA做的项目,当条件查询多起来,还不固定的时候,查询方法就不好写了,又不好改成Mybatis,那么JdbcTemplate将是个不错的选择。 正文 SpringBoot项目依赖 <dependencies>
<dependency>
<groupId>org.s