zoukankan      html  css  js  c++  java
  • hibernate 高并发下遇到的大坑

    hibernate使用简单,但是对高并发环境有不少坑。

    以下是笔者遇到的高并发之痛:

    在做类似于秒杀任务时,使用了hibernate的setXX方法,在单实例并发100之内,使用乐观锁对数量的增加是正常的。但是当并发更大时,而且配置了多任务,此时发现已下发任务数一直在反复。奇怪的是使用了乐观锁更新,为什么会发生这样的事件呢?经过了增加缓存,批量更新都无济于事,开始怀疑是框架的原因。一步一步调试,发现在保持更新之前使用了setXX方法来对数量进行了操作,它会自动保存数据!

    定位到了问题,果断在更新之前去掉hibernate的setXX方法,通过spring的jdcbTemplate进行数据更新。

    特记录此问题,为以后使用框架时,从多方面考虑。后续项目切mybatis,使用原生的SQL更靠谱!

  • 相关阅读:
    对软件工程的困惑
    团队作业(七)
    团队作业(六)
    团队作业(五)
    团队作业(四)
    团队作业(三)
    团队作业(二)
    团队作业(一)
    代码
    课余作业 采访
  • 原文地址:https://www.cnblogs.com/bury12/p/8051797.html
Copyright © 2011-2022 走看看