首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

应避免使用嵌套connection的场景,否则在高并发上将从出现死锁

2012-09-15 
应避免使用嵌套connection的场景,否则在高并发下将从出现死锁例如如下的代码:?entityListenerController.a

应避免使用嵌套connection的场景,否则在高并发下将从出现死锁

例如如下的代码:

?

entityListenerController.afterLoad(className, list);

中使用又调用了另外的manager去执行查询,如此就形成了

ConnectionA open

ConnectionB open

ConnectionB close

ConnectionA close

的情形,这种使用方法在高并发下将导致因获取Connection而引发的死锁。

?

一种解决方法是加上只读事务@Transactional(readOnly = true)

以保证使用同一个Connection。

热点排行