在执行程序的时候,程序会停在
try {
userCache.acquireWriteLockOnKey(USER_STATUS_FLAG);
userCache.put(element);
} finally {
userCache.releaseWriteLockOnKey(USER_STATUS_FLAG);
}
中的userCache.put(element);这一行,一直等待。造成其他调用的链接同时等待,最后造成系统崩溃。
把缓存的文件全部删除后,重新启动并且注释掉acquireWriteLockOnKey和releaseWriteLockOnKey后,系统正常,到目前为止没有出现什么问题。请教一下这方面有经验的人,这种卡死现象会是因为WriteLock产生的么?还是可能有其他的什么原因,跪求和各位大侠讨论,跪求回答。
附带ehcache.xml
maxElementsOnDisk="100000">