项目Config配置:
me.add(new EhCachePlugin(PathKit.getRootClassPath()+"/ehcache-shiro.xml"));
ehcache-shiro.xml中的配置:
<ehcache name="shiro">
<diskStore path="java.io.tmpdir/shiro-ehcache"/>
<cache name="shiro-activeSessionCache"
maxElementsInMemory="2000"
eternal="true"
timeToLiveSeconds="0"
timeToIdleSeconds="0"
diskPersistent="true"
overflowToDisk="true"
diskExpiryThreadIntervalSeconds="600"/>
<cache name="check"
maxElementsInMemory="10000"
eternal="false"
timeToLiveSeconds="600"
diskPersistent="true"
overflowToDisk="true"
diskExpiryThreadIntervalSeconds="60000"/>
</ehcache>
shiro.ini配置:
如果这样配置完后,你的 ehcache-shiro.xml中配置的失效时间timeToLiveSeconds,会统统失效,不管你设置的是什么,全部变成shiro中的设置。
如果你需要使用ehcache-shiro.xml中的配置的话,你应该分开配置。我是直接添加配置,当使用到与shiro无关的缓存时,使用这边的缓存配置。
me.add(new EhCachePlugin(PathKit.getRootClassPath()+"/ehcache-my.xml"));
不知道有没有别的解决方案!
项目:JFinal