- 博客(14)
- 收藏
- 关注
原创 异步编程实战:基于IP地址的全局速率限制和RateLimiter的使用
本文探讨了并发编程中常见的批量任务处理问题,通过一个实际案例分析了"单独执行正常但批量失败"的现象。文章揭示了问题根源在于异步任务未等待完成和异常被吞噬,提出三阶段解决方案:1)收集并等待所有CompletableFuture完成;2)为每个任务添加独立异常处理;3)发现API基于IP的全局速率限制问题。最终通过引入Google Guava的RateLimiter进行精确控制,确保并发请求不超过阈值。关键启示包括:必须追踪和等待异步任务、添加独立异常处理、警惕API速率限制,以及将限流器
2025-07-18 11:33:13
801
原创 多级返回值的嵌套映射写法
得到的结果为未分组的结果,现在我们编辑resultMap来进行处理。即可直接获得creatorSampleDTOList。以下为返回类,为三级结构,对应三张表。现在可以使用sql进行查询。
2024-11-26 09:49:32
281
原创 Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass
Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible
2024-09-06 17:22:05
3148
原创 npm install/yarn install 时报错ssl过期的坑
起初npm install报错想着无非就是镜像源的问题,换个就好了,更换为。最后发现yarn镜像源会导致npm镜像源设置失败。将yarn镜像源同时修改,解决。知道原因的大佬解释下呗。
2024-02-21 18:01:27
571
1
原创 java异常捕捉,使用@ExceptionHandler优雅的抛出异常
使用spring的@ExceptionHandler(BizException.class)捕捉代码中抛出的BizException异常。项目中需要在后端将报错返回给前端,通过抛异常的方式能减少重复代码量。然后在需要返回报错信息的业务逻辑中抛出异常。扩展一下,也可以将判空能处理做成工具类抛出。捕捉异常,这边根据需要返回就好。BizException类。这样代码看起来更舒服。
2024-02-05 17:36:55
1067
1
原创 resource目录下的文件下载出错 (No such file or directory)
本地测试正常的接口发布后线上调用时报错file:/app/xxxx/xxxx.txt(No such file or directory)
2024-02-05 11:27:15
489
1
转载 【转载】mybatis-plus实现多表联查(解放双手,不写 SQL)
注意需继承com.github.yulichang.base包下的MPJBaseMapper、MPJBaseService等。而不是com.baomidou.mybatisplus.core.mapper下的BaseMapper。引入mybatis-plus-join-boot-starter包实现多表联查不写sql。
2024-01-31 15:15:48
693
原创 vue input输入框限制只能输入正整数
input type="number" @keydown="filterNum($event)" v-model="num" placeholder="请输入数字">用于防止输入负数和小数。
2024-01-18 11:06:28
4819
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅