我正在尝试理解和使用Spring事务隔离级别。我需要最大化我的应用程序的并发性,我只需要注意脏读。幻影阅读和其他情况确实不需要注意。因此决定将 Isolation.READ_COMMITTED 用于我的应用程序中最常用的事务方法之一。根据春季文件:
此级别仅禁止事务读取行中未提交的更改。
所以这是我所面临的情况,我认为与上面的陈述没什么不同。
criticalMethod(customeId):
因此,当两个完全独立的客户c1和c2并行调用此方法时,如果c2的方法被调用,则c1在步骤4上。因此,我在第1步中对c2块的方法调用对于c1的util方法调用完成了。
我用Eclipse调试模拟了这种情况。我可以从表1的数据库侧查询客户c2的数据。根据上述spring的文档,不应阻塞我的第二个方法调用。
我想念什么吗?
这是我的技术栈: