我有一个ehcache设置,除了每次重新启动我的应用程序/服务器(TcServer/Tomcat上的Spring应用程序)时都删除了持久性磁盘存储数据,它的工作正常.使用持久性磁盘库的重点是,尽管应用程序重新启动,仍能保留缓存.
这是我的ehcache.xml
<?xml version="1.0" encoding="UTF-8"?><ehcache><diskStore path="java.io.tmpdir/ehcache"/><cache name="clusterCache"
maxElementsInMemory="1"
maxElementsOnDisk="50"
eternal="true"
overflowToDisk="true"
diskPersistent="true"
memoryStoreEvictionPolicy="LFU"/></ehcache>
Run Code Online (Sandbox Code Playgroud)
任何想法为什么会这样?
正如文档所述,Ehcache 不会写入它要从磁盘恢复的索引文件,除非缓存已正确关闭,无论是通过 VM 关闭挂钩还是(因为这是在 servlet 容器中)servlet 上下文侦听器提供。有关详细信息,请参阅有关关闭的 Ehcache 文档,尽管这只是意味着将以下内容添加到您的 web.xml 中:
<listener>
<listener-class>net.sf.ehcache.constructs.web.ShutdownListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6763 次 |
| 最近记录: |