豆角茄子子

导航

Ehcache3.5.2不能删除cache缓存文件的问题

问题现象:

ehcache3.5.2,删除缓存文件的时候,抛异常Close not supported from UNINITIALIZED

解决方案:

原因在于业务代码里错误多次调用cache.close(),导致currentState.get()被设置为Transition.UNINITIALIZED,而在Transition.UNINITIALIZED定义中,没有重写的close方法,只能调用Transition.close(),直接抛出此异常。

需要注意在ehcache3.5.2中,直接调用cache.destroyCache(String cacheName),即可直接直接删除缓存文件。

ehcache清理缓存时,会先将内存中的那一部分remove掉,之后会调用持久化服务将磁盘缓存文件中的文件删除。

posted on 2018-05-21 21:40  豆角茄子子  阅读(694)  评论(0编辑  收藏  举报