Bug

x-www-form-urlencoded 自动转小写

场景用户进行邮箱验证, 发送成功了, 验证码也收到了, 也提交对了. 但, 就是不通过.原因前端通过form表单提交的数据 application/x-www-form-urlencoded后端接收的时候, 大写被自动转成了小写.SpringBoot: 1.5.10.RELEASE
2024-11-17
阿里云maven镜像仓库pom文件错误导致无法下载依赖 启动应用报错ClassNotFoundException

阿里云maven镜像仓库pom文件错误导致无法下载依赖 启动应用报错ClassNotFoundException

导一个新项目, 怎么都跑不起来, 报错就是Caused by: java.lang.ClassNotFoundException: org.elasticsearch.core.RefCounted 对比其他人的依赖, 发现是这个jar包没有下载elasticsearch-core-7.17.8.j
2023-03-08

使用字节数组创建String后通过getBytes()得到的数组与创建时不同

问题:使用默认编码创建字符串后,通过生成的字符串的getBytes()方法获得的数组与创建时的数组不同。demo代码如下byte[] bytes=new byte[]{-42, -48, -50, -60, -78, -30, -54, -44}; System.out.println(Arrays
2023-02-28

自定义HttpServletRequestWrapper报错

Bug代码public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapper { private final byte[] body; public BodyReaderHttpServletR
2023-02-28

sun.misc.CharacterEncoder#encode(byte[])自动添加\r\n

当编码的字节较长时,encode出来的字符串会自动加入\r\n进行自动换行。这是因为是rfc规范规定76个字符要换一次行导致编码后无法正常显示图片解决方法: 换个工具类
2023-02-28

站点版本更新后周期性卡顿分析

本站在今天发版后, 对线上应用自测时发现, 接口出现了周期性的卡顿, 在此记录一下排查过程怀疑是FULLGC影响的, 因为启动时内存确实分配的较少, 且有周期性, 遂调整设置. 重启后问题仍然稳定重现使用jmap -dump将堆内存信息以二进制的方式转储到文件, 使用jdk的jvisualvm工具查
2022-08-18

java.lang.ClassCastException: xxx cannot be cast to [C

上代码 public class Test { public static Map<String, Object> MAP = new HashMap<>(2); static { MAP.put("int", 1); MAP.put("string
2022-07-11

Cron 表达式 星期建议使用 MON 等单词缩写

在spring提供的定时任务框架中@Scheduled(cron = "0 0 16 ? * 1") 1指周一但, 其他cron工具中, 1指周日区别就在于, spring的一周从周一开始, 而其他工具从周日开始判断可能是spring对时区做了判断, 动态切换但暂未验证而使用 MON 表示 周一,
2021-07-19

回顾一次生产问题

有几个原因造成这些问题我没有对这种异步系统进行流程分析我不熟悉RocketMQ的特性以及机制我对数据库操作把控不严
2021-04-21

JUnit 模拟多线程 逻辑不执行

@Test public void test() { new Thread() { @Override public void run() { //logic } }.star
2021-03-03

Dubbo连接不到对应服务

尝试删除C:\Users\用户\nacos该目录, 然后重启项目原因根据官方图,dubbo调用者需要通过注册中心(例如:ZK、nacos)注册信息, 获取提供者,但是如果频繁往ZK获取信息,肯定会存在单点故障问题, 所以dubbo提供了将提供者信息缓存在本地的方法。 Dubbo在订阅注册中心的回调
2021-01-29

Spring Boot项目中使用RedisTemplate.delete() 删除指定key失败的解决办法

https://blog.csdn.net/hello_world_qwp/article/details/85763286上面这篇博客扯一大堆, 居然还分析源码实际只是自定义了key的序列化方式导致最终操作redis的时候序列化的key与预期的key不一致而已, 自然就删不掉redis中的数据了
2020-11-26

JPA IN or NOT IN 查询时 只能传List

JPA IN 查询时 只能传List
2020-10-28

map为空时调用keySet()传给jpa导致的bug

userService.deleteNotInId(userMap.keySet()); @Modifying @Query(value = "DELETE FROM user WHERE id NOT IN (:iqs)", nativeQuery = true) void deleteNotIn
2020-09-29

jpa方法参数必须加上@Param

void deleteByKl(String kl);线上可能报错原因可能是编译时没有加-parameters这个参数, 编译后丢失了参数名称, 使得反射拿不到对应参数需要加上注解void deleteByKl(@Param("kl") String kl);同理public ResultVO de
2020-09-28

hutool-http链式调用参数丢失

版本hutool-http-5.2.5如下代码,pathParams的参数会丢失 HttpRequest request = cn.hutool.http.HttpUtil.createRequest(method, url).timeout(TIMEOUT) .
2020-08-26

多数据源 单库操作事务不回滚

项目配置了多数据源,之前操作主数据源,直接加上@Transactional(rollbackFor = Exception.class),没有任何问题最近操作其他数据源并做测试的时候,发现int i = 1 / 0并不会回滚,各种排查,从数据库引擎到注解@Transactional使用规范和异常处理
2020-07-27

事务隔离级别引起的问题

最近碰到了一个事务隔离级别引起的bug在一段业务逻辑中,需要查询两次标志位,但两次查询到的都是同样的结果,一开始以为是hibernate缓存的原因然后一通操作,发现两次查询发了两次sql,于是排除hibernate最后怀疑是隔离级别的问题,在手动设置隔离级别为“读已提交”后,问题解决
2020-07-16

关于redis缓存时间设置可能导致的bug

看到在项目代码中有人先调用redisTemplate的方法判断某个key是否存在,然后再调用redisTemplate的方法拿到这个key里的数据。但是,在设置了key缓存时间的情况下,这个逻辑就会出错。比如第一步这个key存在,但是紧接着key过期了,后面就会拿不到这个key,造成后面的逻辑出错所
2020-06-19