Java - Shiro - ehcache配置

时间:2015-02-02 07:15:45

标签: java spring ehcache shiro

我在使用Shiro(v4.1.4)的java Web项目中使用Spring(v1.2.3)。

我为shiro启用了Ehcache,以帮助存储shiro会话。


我的问题是:

我是否需要在ehcache.xml配置文件中为shiro会话定义<cache>实体,或者shiro会自动管理它?

总之,我是否需要将以下配置段放入ehcache-shiro.xml

<cache name="shiro-activeSessionCache" maxElementsInMemory="10000" overflowToDisk="true" eternal="true"
    timeToLiveSeconds="0" timeToIdleSeconds="0" diskPersistent="true" diskExpiryThreadIntervalSeconds="600" />

1 个答案:

答案 0 :(得分:3)

如果默认设置适合您,则不需要。 ehcache.xml文件是shiro-ehcache模块的一部分,默认情况下将使用。您引用的设置与此文件中定义的设置相同。正如Shiro doc about session management提到:

  

默认情况下,EhCacheManager使用特定于Shiro的ehcache.xml文件   设置会话缓存区域和必要的设置   确保正确存储和检索会话。

     

但是,如果您想更改缓存设置,或配置您的   拥有自己的ehcache.xml或EHCache net.sf.ehcache.CacheManager实例   将需要配置缓存区域以确保Sessions   处理得当。

     

如果查看默认的ehcache.xml文件,您将看到   关注shiro-activeSessionCache缓存配置:

<cache name="shiro-activeSessionCache"
        maxElementsInMemory="10000"
        overflowToDisk="true"
        eternal="true"
        timeToLiveSeconds="0"
        timeToIdleSeconds="0"
        diskPersistent="true"
        diskExpiryThreadIntervalSeconds="600"/> 
  

如果您希望使用自己的ehcache.xml文件,请确保已定义类似的缓存   进入Shiro的需求