Hi Narcom, Are you sure this is a Shiro problem? From this part of the exception:
"Cannot resolve reference to bean 'securityManager' while setting bean property 'securityManager';" It seems that you either have a circular reference or the shiroFilter bean definition can't find your securityManager bean definition. Could this be happening? If not, could you please open a Jira issue and attach a simple Spring config that replicates the issue? If we have that, we can fix it immediately... Thanks, Les On Thu, Apr 29, 2010 at 12:51 AM, Narcom <[email protected]> wrote: > > after I updated to new Shiro version from svn I cannot initialize and include > org.apache.shiro.cache.ehcache.EhCacheManager to Security manager any more. > > could you please describe how to do it. I cannot afford to use default "in > memory" implementation > > I use as example "Sample Shiro Spring". it just does not work and gives me > NPE > > my cache manager initialization > <bean id="cacheManager" > class="org.apache.shiro.cache.ehcache.EhCacheManager"> > <property name="cacheManagerConfigFile" > value="file:${webapp.root}/WEB-INF/ehcache.xml"/> > </bean> > > and NPE > > [quote] > INFO: Container > org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/samples-spring-1.0-incubating-SNAPSHOT] > has already been started > 2010-04-27 15:00:07,843 DEBUG > [org.apache.shiro.spring.LifecycleBeanPostProcessor] - Destroying bean > [cacheManager]... > 2010-04-27 15:00:12,828 TRACE > [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] > - No authorization advice explicitly configured via the 'advice' property. > Attempting to set default instance of type > [org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor] > 2010-04-27 15:00:12,890 TRACE [org.apache.shiro.realm.AuthorizingRealm] - > Initializing authorization cache. > 2010-04-27 15:00:12,890 DEBUG [org.apache.shiro.realm.AuthorizingRealm] - No > cache implementation set. Checking cacheManager... > 2010-04-27 15:00:12,890 DEBUG [org.apache.shiro.realm.AuthorizingRealm] - > CacheManager [org.apache.shiro.cache.ehcache.ehcachemana...@1105002] has > been configured. Building authorization cache named > [org.apache.shiro.realm.jdbc.JdbcRealm-0-authorization] > 2010-04-27 15:00:12,890 TRACE > [org.apache.shiro.cache.ehcache.EhCacheManager] - Loading a new EhCache > cache named [org.apache.shiro.realm.jdbc.JdbcRealm-0-authorization] > 2010-04-27 15:00:12,937 INFO > [org.apache.shiro.web.DefaultWebSecurityManager] - native mode - enabling > DefaultWebSessionManager (HTTP + heterogeneous-client sessions) > 2010-04-27 15:00:12,937 ERROR > [org.springframework.web.context.ContextLoader] - Context initialization > failed > org.springframework.beans.factory.BeanCreationException: Error creating bean > with name 'shiroFilter' defined in ServletContext resource > [/WEB-INF/applicationContext.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 ServletContext resource > [/WEB-INF/applicationContext.xml]: Error setting property values; nested > exception is org.springframework.beans.PropertyBatchUpdateException; nested > PropertyAccessExceptions (1) are: > PropertyAccessException 1: > org.springframework.beans.MethodInvocationException: Property 'realm' threw > exception; nested exception is java.lang.NullPointerException > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) > at java.security.AccessController.doPrivileged(Native Method) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) > at > org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:880) > at > org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:605) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:365) > at > org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) > at > org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1249) > at > org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:377) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:196) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) > at java.lang.Thread.run(Thread.java:619) > Caused by: org.springframework.beans.factory.BeanCreationException: Error > creating bean with name 'securityManager' defined in ServletContext resource > [/WEB-INF/applicationContext.xml]: Error setting property values; nested > exception is org.springframework.beans.PropertyBatchUpdateException; nested > PropertyAccessExceptions (1) are: > PropertyAccessException 1: > org.springframework.beans.MethodInvocationException: Property 'realm' threw > exception; nested exception is java.lang.NullPointerException > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) > at java.security.AccessController.doPrivileged(Native Method) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) > ... 40 more > Caused by: org.springframework.beans.PropertyBatchUpdateException; nested > PropertyAccessExceptions (1) are: > PropertyAccessException 1: > org.springframework.beans.MethodInvocationException: Property 'realm' threw > exception; nested exception is java.lang.NullPointerException > at > org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:104) > at > org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276) > ... 51 more > [/quote] > -- > View this message in context: > http://shiro-user.582556.n2.nabble.com/Adding-ehcahe-CacheManager-to-Spring-Sample-failes-tp4967790p4978325.html > Sent from the Shiro User mailing list archive at Nabble.com. >
