JFINAL中使用shiro跟ehcache

项目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配置:

image.png

如果这样配置完后,你的 ehcache-shiro.xml中配置的失效时间timeToLiveSeconds,会统统失效,不管你设置的是什么,全部变成shiro中的设置。

如果你需要使用ehcache-shiro.xml中的配置的话,你应该分开配置。我是直接添加配置,当使用到与shiro无关的缓存时,使用这边的缓存配置。

me.add(new EhCachePlugin(PathKit.getRootClassPath()+"/ehcache-my.xml"));


不知道有没有别的解决方案!

评论区

热门反馈

扫码入社