永发信息网

terracotta下的ehcache在什么情况下可能到是无法执行put(Element)的操作,现象是卡死在那里?

答案:3  悬赏:70  手机版
解决时间 2021-02-28 00:48
我公司线上的程序上周因为terracotta下的ehcache崩溃了一次,找到的表象是:

在执行程序的时候,程序会停在

try {
userCache.acquireWriteLockOnKey(USER_STATUS_FLAG);
userCache.put(element);
} finally {
userCache.releaseWriteLockOnKey(USER_STATUS_FLAG);
}
中的userCache.put(element);这一行,一直等待。造成其他调用的链接同时等待,最后造成系统崩溃。

把缓存的文件全部删除后,重新启动并且注释掉acquireWriteLockOnKey和releaseWriteLockOnKey后,系统正常,到目前为止没有出现什么问题。请教一下这方面有经验的人,这种卡死现象会是因为WriteLock产生的么?还是可能有其他的什么原因,跪求和各位大侠讨论,跪求回答。

附带ehcache.xml

timeToIdleSeconds="360" timeToLiveSeconds="0" overflowToDisk="false"
maxElementsOnDisk="100000">

最佳答案
你的UserCache是个什么对象,Ehcache的实现本来就是线程安全的,为什么你在使用的时候还要加读写锁?
全部回答
try() cath{} 多写几个就好了
你好! 应该是别的地方先锁住、没解锁,造成另一个想锁时阻塞了 我的回答你还满意吗~~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么爱情公寓3601室在第三季时多出了两间房
如果从S和G2中选择,中心粒复制应该算是发生
看中一款”三开多控“的开关,但我只需要一开
米兰·亿能居全屋定制家居馆在哪里啊,我有事
黑色的裤子褪色了,怎样重新变黑
杨颖用卡特∵打英雄联盟
劳务派遣公司的业务员都做些什么
福乐达门业我想知道这个在什么地方
去吉林上大学要准备什么生活,学习用品
路那么遥远,票那么难买,为什么还要回家过年
狗牌留言,需要创意搞笑的、 200分
全国有多少个叫苏福来的
魔兽世界单机怎么调竞技场等级
鸟类飞行所需的能量直接来源于食物
依莱美干洗在哪里啊,我有事要去这个地方
推荐资讯
我的笔记本安装了公司LANDesk软件,禁止了QQ
谁想和我结婚 用英语怎么说
b85能搭载amd的显卡吗
有没有健身微信群可以告诉我吗
重装了一下系统,solidworks2014安装时一点se
谁用过缴费易终端机-信用卡还款?
三星怎么添加通知铃声
没有没打印机共享的软件 本人单位为局域网用
新生儿硬肿症发病的内因是()A.体内热量不足,
福顺缘快餐地址在什么地方,想过去办事
现在雅思缺考会不会有影响
电脑这两个槽是干什么用的?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?