异常处理
文章平均质量分 50
MQLYES
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
@Scheduled注解定时任务未按时执行问题记录
经排查原因是因为每分钟执行一次的任务,在1分钟内执行不完,且@Scheduled注解底层虽然是使用线程池,但是线程池中默认只有一个线程!在0点的时候前面还有很多1分钟执行一次的任务没执行完,导致在0点执行的任务阻塞,直到前面阻塞的任务都执行完,1点多才执行0点的任务。在一个项目中多处使用了@Scheduled注解,有些任务是1分钟执行一次,有些任务是每天凌晨0点执行一次。但是发现本该在凌晨0点执行的任务在0点并没有执行,而是在凌晨1点多才执行,而且每次执行的时间还不一样。也可以向下边一样注入配置类即可。原创 2024-08-02 16:13:13 · 540 阅读 · 0 评论 -
Mongo删除数据 释放空间
最近因为业务需要,需要对Mongo数据库一个collection的一个字段进行调整。该字段本来存储了A,B,C 3个内容,现在需要将A,B,C3个内容分别存到3个字段,并把原字段删掉。这样做了以后,直觉上感觉数据占用磁盘大小应该不会变,因为数据还是那么多数据,只不过分开存储了,原来字段删了。但这样做完以后发现数据占用的空间几乎变大了1倍,已删除的数据磁盘空间没有得到释放。最后,发现mongo占用的内存也很大,我直接重启了mongo服务,发现内存占用变小了很多。显示结果如下:磁盘空间成功释放了5个多G。原创 2024-05-08 17:13:05 · 724 阅读 · 0 评论 -
Cause: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large
查阅后发现问题是由于max_allowed_packet参数引起的,该参数是指mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小。一次插入的数据超过了max_allowed_packet,则会数据库保存失败,报出异常。我这里是批量插入多条数据,数据条数目测有个几千条,数据大小超过了阈值。网上解决方案是修改max_allowed_packet的值,调大这个值,临时修改或者永久修改都可以。比如之前一次插入5000条数据,我这里改成一次插入500条,分10次插入就ok了。原创 2024-04-17 16:28:12 · 874 阅读 · 1 评论
分享