项目跑了两个多月才发现ehcache一直没起作用,搞了2天才发现问题,这里分享下,希望大家别踩坑,当然也有可能是我的项目结构不对。
filter顺序是先shiro,在jfinal.
shiro的ehcache的配置文件时ehcache-shiro.xml由于我的配置文件时ehcache.xml。shiro先与jfinal加载ehcache, 然后在jfinal使用CacheKit.put的时候,获取到的caches是shiro的由于shiro没有配置文件,所以是一个默认配置,结果导致我所有的ehcache配置没有生效。
经测试:在shiro.ini中指定shiro的ehcache配置文件位置,即可解决
#Cache cacheManager = org.apache.shiro.cache.ehcache.EhCacheManager cacheManager.cacheManagerConfigFile=classpath:ehcache.xml