我当前的框架是SpringMvc+Mysql,没错,当时搭完了说的这是纯SpringMVC,嗯,够纯,实际情况是这样的,当时是我们项目经理的一个朋友来给搭的这个框架(这个人之前也没搭过框架),拿的之前他做的项目把之前的系统的代码删了,只留了一个架子,搭完了,人就走了,起初系统由于好多代码逻辑都是一个表DML,在多个表进行DML的时候考虑加入事务,但是想加的时候才发现之前那人连事务都没弄好就抛给我们用了,没办法,就在网上找的编程式事务。
当时配置完了,什么Rollback、commit都好用,但是现在有个问题,实际客户用了之后发现好多Mysql报出的死锁(Deadlock found when trying to get lock; try restarting transaction),不知哪位大神能把实际用的事务程序段贴出来,给我参考一下,我现在就知道我大概就是程序上做DML由于未指定主键(Primary)进行操作导致表锁,其他线程想修改的时候就得等待,这个当用户量大的时候肯定有问题。
各位大神有什么见解,帮助我一下,谢谢大家啦。
当时配置完了,什么Rollback、commit都好用,但是现在有个问题,实际客户用了之后发现好多Mysql报出的死锁(Deadlock found when trying to get lock; try restarting transaction),不知哪位大神能把实际用的事务程序段贴出来,给我参考一下,我现在就知道我大概就是程序上做DML由于未指定主键(Primary)进行操作导致表锁,其他线程想修改的时候就得等待,这个当用户量大的时候肯定有问题。
各位大神有什么见解,帮助我一下,谢谢大家啦。
解决方案 »
- 大家好,问一个jasper-compiler.jar包冲突的问题
- 关于dojo的书籍?
- jvm 非堆内存是否可gc
- ActiveMQ中消息的生产者和消费者如何配置?
- java程序发短信到手机上,请问这个原理是什么,需要其他什么条件吗
- javamail 接收邮件 本地可以 而放到服务器上 则出错 提示java.net.UnknownHostException
- 关于org.apache.crimson.tree.ElementNode作为AXIS,webservice的返回值和参数的问题
- include问题
- 请高手帮忙,resin2.0.9中怎样配置servlet啊?在线等!
- 进行入学注册,输入两次密码,如果相同,提示注册成功,如果不同,提示重新输入密码,java怎么写
- kafka Java API 可以写入数据,但是消费不到数据是为什么?
- Hibernate怎么从从主表查询子表
2、有主键约束,唯一没有。
3、之前有重复提交现象,后来改成不能重复提交了,但是现在还是偶尔会出现这种情况。 我也意识到了,貌似如果不指定主键的话,数据库就会触发表级锁,这样肯定有问题 我们领导让我确认到底是框架的事,还是数据库的事,如果要是框架问题,可能就要换框架重构代码。
数据库:我查到了有可能是我对表进行DML时候没有指定主键导致表级锁出现死锁情况
框架:我想确定就是我代码逻辑有没有问题,我看在事务里查询和正常查询不一样后面有一段后缀for update或者lock in share mode那个。现在我就想找个和我差不多逻辑的,把代码例子贴出来一个给我看看,是不是我写的代码不对了,还有可能是DML语句写的不对了。