本人详解
作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》
公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题
中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯
转载说明:务必注明来源(注明:作者:王文峰哦)
Java项目实战:供应链系统多模块并行开发与测试周报
学习教程(传送门)
1、掌握 JAVA入门到进阶知识(持续写作中……)
2、学会Oracle数据库用法(创作中……)
3、手把手教你vbs脚本制作(完善中……)
4、牛逼哄哄的 IDEA编程利器(编写中……)
5、吐血整理的 面试技巧(更新中……)
Java项目实战:供应链系统多模块并行开发与测试周报
关键词:SpringBoot多线程测试、财务抛账规则、App迁移、系统切换方案
本周团队高效推进了供应链系统的9个核心模块,涉及流程开发、压力测试、系统迁移及架构优化。以下是关键技术总结:
一、并发测试解决方案(模块1/3/4/5)
场景:自产材/服务流程/耐材流程的并发测试
技术实现:
// 使用JUnit5 + TestContainer模拟多用户操作
@Testcontainers
class MaterialProcessTest {
@Container
static PostgreSQLContainer<?> postgres = new PostgreSQLContainer<>("postgres:15");
@Test
@RepeatedTest(10) // 重复测试模拟并发
void whenMultiUserSubmit_thenLockInventory() {
// 通过Redisson分布式锁控制库存扣减
RLock lock = redissonClient.getLock("inventory_lock");
lock.lock();
try {
inventoryService.deduct(items);
} finally {
lock.unlock();
}
}
}
难点攻克:MySQL死锁问题通过@Transactional(isolation = SERIALIZABLE)
解决
二、财务抛账规则引擎(模块8 - 重点)
架构升级: