- 博客(17)
- 收藏
- 关注
原创 多线程多个相同的订单号如何保证顺序串行执行
摘要:该代码实现了对重复订单的批量并发处理功能。主要流程包括:1)将重复订单按订单号分组;2)使用分布式锁控制每个订单的并发处理;3)将大批量订单拆分为小批次(每批100条)处理;4)通过CompletableFuture实现异步并发执行;5)最终汇总所有处理结果。处理过程中保证了线程安全,并记录了失败信息。该方法适用于需要高效处理大量重复订单的场景,通过分批并发和锁机制确保了数据一致性和处理效率。
2025-07-15 16:55:21
51
原创 spring boot 启动校验controller 接口方法一致性校验器
摘要:ControllerParameterAnnotationChecker是一个SpringBoot组件,用于检查Controller类与接口方法签名的一致性。主要功能包括:1)通过配置化的包扫描路径(@ConfigurationProperties)查找Controller类;2)验证每个Controller必须实现且仅实现一个接口;3)检查方法必须使用@PostMapping注解;4)确保方法参数带有@RequestBody或@PathVariable注解;5)支持通过白名单(excludeClas
2025-06-28 15:12:21
95
原创 使用代码查看idea中的最大堆内存,已分配内存,空闲内存
这段Java代码展示了如何获取JVM内存使用情况。通过Runtime类的getRuntime()方法获取运行时实例,然后使用maxMemory()、totalMemory()和freeMemory()方法分别获取最大可用堆内存、当前分配的内存和空闲内存,并将结果转换为MB单位输出。这些信息对于监控和优化Java应用程序的内存使用非常有用。
2025-06-10 10:18:06
222
原创 VUE使用importpdfmake.min.js插件生成PDF
button @click="generatePdf">生成PDF</button>text: '这是一个段落。'这是一个简单的PDF示例。GeneratePdf.vue组件。index.html首页引入插件。/* 添加一些全局样式 *//* 添加一些样式 */
2025-01-21 15:17:46
432
原创 使用固定大小的线程池同步数据
/ 设置合理的超时时间。PmsLibService.setLog(SyncOnScheduleService.class, "同步CRM部门信息更新失败:" + e.getMessage());message = "同步失败:线程池关闭超时";// 等待当前批次的所有任务完成。// 重新创建线程池。
2024-12-02 13:50:34
623
原创 钉钉消息集成各种类型
markdown.setText("**这是Markdown消息**\n\n- 列表项1\n- 列表项2");markdown.setTitle("Markdown 消息标题");actionCard.setText("这是动作卡片内容");text.setContent("这是纯文本消息");form.setValue("这是OA消息内容");body.setTitle("OA 消息标题");head.setText("OA 消息头部");link.setText("这是链接消息");
2024-11-13 15:03:21
595
原创 element ui/vue前端实现下拉树
el-select clearable ref="selectTree" v-model="form.CA009_NAME" placeholder="请选择"
2024-05-31 10:28:14
354
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人