码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC + Mybatis + Shiro + ehcache时缓存管理器报错。

时间:2015-08-20 10:42:27      阅读:406      评论:0      收藏:0      [点我收藏+]

标签:spring mvc   mybatis   shiro   缓存   javaee   

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘shiroFilter‘ defined in class path resource [spring/spring-shiro-web.xml]: Cannot resolve reference to bean ‘securityManager‘ while setting bean property ‘securityManager‘; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘securityManager‘ defined in class path resource [spring/spring-shiro-web.xml]: Cannot resolve reference to bean ‘userRealm‘ while setting bean property ‘realm‘; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘userRealm‘ defined in class path resource [spring/spring-shiro-web.xml]: Cannot resolve reference to bean ‘credentialsMatcher‘ while setting bean property ‘credentialsMatcher‘; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘credentialsMatcher‘ defined in class path resource [spring/spring-shiro-web.xml]: Cannot resolve reference to bean ‘shiroCacheManager‘ while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘shiroCacheManager‘ defined in class path resource [spring/spring-shiro-web.xml]: Cannot resolve reference to bean ‘ehCacheManager‘ while setting bean property ‘cacheManager‘; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘ehCacheManager‘ defined in class path resource [spring/spring-shiro-web.xml]: Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:


最后红色是关键,说要确保缓存管理器只能有一个!

在shiro1.3以后,要确保缓存管理器是单例的。

所以需要这样配

	<!-- MyBatis使用ehcache缓存 start -->
	<bean id="ehCacheManager"
		class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
		<property name="configLocation" value="classpath:ehcache/shiroEhcache.xml" />
                <property name="shared" value="true"></property> <!-- 这里是关键!!!没有必错  -->
	</bean>
	<!-- end MyBatis使用ehcache缓存 -->
	<!-- 缓存管理器 使用Ehcache实现 -->
	<bean id="shiroCacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
		<property name="cacheManager" ref="ehCacheManager" />
	</bean>

完整配置文档地址

http://download.csdn.net/detail/tragedyxd/9026633


版权声明:本文为博主原创文章,未经博主允许不得转载。

SpringMVC + Mybatis + Shiro + ehcache时缓存管理器报错。

标签:spring mvc   mybatis   shiro   缓存   javaee   

原文地址:http://blog.csdn.net/tragedyxd/article/details/47802629

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!