当前位置:编程学习 > JAVA >>

急:关于事务超时死锁的处理

ERROR: Lock wait timeout exceeded; try restarting transaction
org.hibernate.exception.LockTimeoutException: could not execute statement

项目用的是structs+hibernate
我是在查询结果的页面上对查询结果进行修改,然后调用action更新这个记录,一旦修改页面提交后,tomcat就跑得很慢,然后最后弹出上面那个错误。有人说要将参数TransactionDeadlockDetectionTimeout调大可以适当的延缓死锁,但是这不能根本的解决问题,而且我也不知道怎么设置这个参数。我在代码中只是进行一个记录的更新,为什么也会出现死锁呢,难道是业务逻辑有问题么
--------------------编程问答-------------------- 主要是并发时候都在抢资源导致的,所以 在多个增删改操作同时发生的时候,建议只开一个事务,会大大减少死锁的问题。。 --------------------编程问答--------------------
引用 1 楼 ch656409110 的回复:
主要是并发时候都在抢资源导致的,所以 在多个增删改操作同时发生的时候,建议只开一个事务,会大大减少死锁的问题。。

可是我就只进行一个update --------------------编程问答-------------------- 这。。。。你提交事务没?
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,