- 博客(3)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 使用成员变量导致的逻辑错乱问题
结果线上出现低版本的也返回了新的列表abd,新版本反而没出现abd,排查了版本判断逻辑没问题,问题原因在于Grid是单例的,而且成员变量全局共享,所以导致这个问题。1. 改代码时需要注意原有写法有什么风险,我继续这样写会不会掉坑,使用成员变量做这种业务逻辑肯定有问题。需求是判断app高于某个版本,对接口返回的list做一些改动,3. 按用户灰度不可少,新逻辑出问题只会影响灰度用户。2. if else处要加上详细日志,方便排查问题。出现这中问题出现很难排查,如何避免这个问题。
2024-08-23 16:51:29 110
原创 解决一个诡异的Mybatis参数转换报错
org.apache.ibatis.binding.MapperMethod.ParamMap继承自HashMap的threshold属性为int。追踪堆栈,果然是ParameterHandler有问题,现在要看IntegerTypeHandler在哪设置的,为啥设置错了?可以将threshold改个名字,会发现不会报错,因为hashmap没这个属性。快找到了,在ParameterMappingTokenHandler中。找到赋值的地方,打个断点,重新进入断点看看。mybatis版本3.4.0。
2023-11-20 18:30:08 292 1
原创 生产故障-spring redis cache 反序列化故障
原因:本次上线的java对象新增了一个字段,由于没有定义serialVersionUID,序列化id会发生变化,所以会导致反序列化失败。教训:实现了序列化接口,一定要定义serialVersionUID。
2023-07-29 17:12:06 274
TA创建的收藏夹 TA关注的收藏夹
TA关注的人