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.
>

Reply via email to