Java 问题:软锁定缓存项已由基础Ehcache过期
我收到以下警告,我不知道该怎么办。每次更新横幅时,大约有80000个条目将此警告写入tomcat中的catalina.out日志文件:Java 问题:软锁定缓存项已由基础Ehcache过期,java,hibernate,caching,ehcache,second-level-cache,Java,Hibernate,Caching,Ehcache,Second Level Cache,我收到以下警告,我不知道该怎么办。每次更新横幅时,大约有80000个条目将此警告写入tomcat中的catalina.out日志文件: WARNING: Cache package.BannedIP Key package.BannedIP#73121 Lockable : null A soft-locked cache entry was expired by the underlying Ehcache. If this happens regularly you should con
WARNING: Cache package.BannedIP Key package.BannedIP#73121 Lockable : null
A soft-locked cache entry was expired by the underlying Ehcache. If this happens regularly you should consider increasing the cache timeouts and/or capacity limits
Dec 16, 2010 10:00:53 PM net.sf.ehcache.hibernate.strategy.AbstractReadWriteEhcacheAccessStrategy handleLockExpiry
ehcache.xml文件中BannedIP的配置:
<cache name="package.BannedIP"
maxElementsInMemory="80000"
eternal="true"
overflowToDisk="true"
diskPersistent="true" />
任何帮助都将不胜感激 由于此警告,您是否遇到任何性能或可用性问题?如果不是这样,那么你似乎应该把这个警告当作一个警告 否则,解决方案似乎是增加
maxElementsInMemory
的大小,以说明缓存内容与实际使用内容之间的差异
希望这能有所帮助。您是否已经确定package.banndip确实包含您期望的内容 您可以通过编程方式使用统计信息来查看发生了什么。给定您在那里的配置位,Ehcache不应该逐出任何东西(只要您的实例少于80k) 另外,要明确该消息的含义:您正在更新一个实例,但是,当提交发生时,Hibernate为标记此条目而设置的软锁正在更新过程中,由于某种原因已被逐出。。。我想知道为什么这些更新需要这么长时间 另外,尽管我只是想大声说出来,可能是其他进程(批量更新)使整个缓存区域无效吗