原因:SimpleTimestamper.next函數的循環無法滿足退出條件
表現:
- CPU使用率飆升,可達100%
- 存在數據查詢的界面或操作無數據展示
前提條件:
- 使用到了Hibernate框架
- 系統運行過程中調整時間。如web程序,調整時間後再調用其的獲取數據的接口或刷新界面
復現方式:
- 將時間往前調整,如14:30->2:30,時間差越久,越不容易恢復,時間差短卡一會就好了
linux修改時間方式
date -s "2012-05-18 04:53:00"
windows修改時間方式
time 11:00:00
解決方式:
- 重啓
- 恢復被調整的時間
相關堆棧:
org.hibernate.cache.spi.support.SimpleTimestamper.next(SimpleTimestamper.java:38) at org.hibernate.cache.spi.AbstractRegionFactory.nextTimestamp(AbstractRegionFactory.java:150) at org.hibernate.cache.spi.AbstractCacheTransactionSynchronization.<init>(AbstractCacheTransactionSynchronization.java:19) at org.hibernate.cache.spi.StandardCacheTransactionSynchronization.<init>(StandardCacheTransactionSynchronization.java:14) at org.hibernate.cache.spi.AbstractRegionFactory.createTransactionContext(AbstractRegionFactory.java:145)