Java 问题:软锁定缓存项已由基础Ehcache过期

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

我收到以下警告,我不知道该怎么办。每次更新横幅时,大约有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 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为标记此条目而设置的软锁正在更新过程中,由于某种原因已被逐出。。。我想知道为什么这些更新需要这么长时间

另外,尽管我只是想大声说出来,可能是其他进程(批量更新)使整个缓存区域无效吗