我有基于Java的Web服务器,并且我还有带方法的DAO单例对象,其SQL操作的逻辑必须以某种方式同步以保证数据
完整性(可以同时从多个 Java 线程访问方法)。
我想知道DB事务包装(可序列化级别)是否优于DAO的方法显式同步在服务器端?
是的,使用交易更好。通过在代码中同步、锁定类,该锁的范围是您的类加载器,并且启动应用程序的第二个实例将使您的锁定无效,因为这两个实例使用不同的锁。
通过数据库事务,您可以拥有应用程序的多个实例,并且数据库以相同的方式对待所有事务。
此外,对于数据库,您还可以选择将隔离级别降低到不高于该事务所需的级别,或者使用行级锁定。这些在代码中很难实现,而且您仍然无法部署第二个实例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)