[seam-issues] [JBoss JIRA] Commented: (SEAMSERVLET-35) Calling session-scoped components from session initialized observer goes into infinite loop

Nicklas Karlsson (JIRA) jira-events at lists.jboss.org
Fri Apr 15 02:03:33 EDT 2011


    [ https://issues.jboss.org/browse/SEAMSERVLET-35?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12595783#comment-12595783 ] 

Nicklas Karlsson commented on SEAMSERVLET-35:
---------------------------------------------

{code}
	at fi.affecto.concept.Observer.newSession(Observer.java:16) [:]
	at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) [:1.7.0-ea]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0-ea]
	at java.lang.reflect.Method.invoke(Method.java:613) [:1.7.0-ea]
	at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59) [:2011-04-01 10:04]
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:619) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:613) [:2011-04-01 10:04]
	at org.jboss.seam.servlet.event.AbstractServletEventBridge.fireEvent(AbstractServletEventBridge.java:45) [:3.0.0.Final]
	at org.jboss.seam.servlet.event.ServletEventBridgeListener.sessionCreated(ServletEventBridgeListener.java:94) [:3.0.0.Final]
	at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:367) [:6.0.0.Final]
	at org.apache.catalina.session.StandardSession.setId(StandardSession.java:341) [:6.0.0.Final]
	at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:857) [:6.0.0.Final]
	at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:291) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.doGetSession(Request.java:2605) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.getSession(Request.java:2315) [:6.0.0.Final]
	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:841) [:6.0.0.Final]
	at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.getSession(LazySessionBeanStore.java:68) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.http.AbstractSessionBeanStore.setAttribute(AbstractSessionBeanStore.java:72) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.AttributeBeanStore.put(AttributeBeanStore.java:148) [:2011-04-01 10:04]
	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:125) [:20101031-0118]
	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99) [:2011-04-01 10:04]
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:2011-04-01 10:04]
	at fi.affecto.concept.org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.ping(org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.java) [:]
	at fi.affecto.concept.Observer.newSession(Observer.java:16) [:]
	at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) [:1.7.0-ea]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0-ea]
	at java.lang.reflect.Method.invoke(Method.java:613) [:1.7.0-ea]
	at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59) [:2011-04-01 10:04]
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:619) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:613) [:2011-04-01 10:04]
	at org.jboss.seam.servlet.event.AbstractServletEventBridge.fireEvent(AbstractServletEventBridge.java:45) [:3.0.0.Final]
	at org.jboss.seam.servlet.event.ServletEventBridgeListener.sessionCreated(ServletEventBridgeListener.java:94) [:3.0.0.Final]
	at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:367) [:6.0.0.Final]
	at org.apache.catalina.session.StandardSession.setId(StandardSession.java:341) [:6.0.0.Final]
	at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:857) [:6.0.0.Final]
	at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:291) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.doGetSession(Request.java:2605) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.getSession(Request.java:2315) [:6.0.0.Final]
	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:841) [:6.0.0.Final]
	at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.getSession(LazySessionBeanStore.java:68) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.http.AbstractSessionBeanStore.setAttribute(AbstractSessionBeanStore.java:72) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.AttributeBeanStore.put(AttributeBeanStore.java:148) [:2011-04-01 10:04]
	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:125) [:20101031-0118]
	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99) [:2011-04-01 10:04]
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:2011-04-01 10:04]
	at fi.affecto.concept.org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.ping(org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.java) [:]
	at fi.affecto.concept.Observer.newSession(Observer.java:16) [:]
	at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) [:1.7.0-ea]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0-ea]
	at java.lang.reflect.Method.invoke(Method.java:613) [:1.7.0-ea]
	at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59) [:2011-04-01 10:04]
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:619) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:613) [:2011-04-01 10:04]
	at org.jboss.seam.servlet.event.AbstractServletEventBridge.fireEvent(AbstractServletEventBridge.java:45) [:3.0.0.Final]
	at org.jboss.seam.servlet.event.ServletEventBridgeListener.sessionCreated(ServletEventBridgeListener.java:94) [:3.0.0.Final]
	at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:367) [:6.0.0.Final]
	at org.apache.catalina.session.StandardSession.setId(StandardSession.java:341) [:6.0.0.Final]
	at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:857) [:6.0.0.Final]
	at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:291) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.doGetSession(Request.java:2605) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.getSession(Request.java:2315) [:6.0.0.Final]
	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:841) [:6.0.0.Final]
	at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.getSession(LazySessionBeanStore.java:68) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.http.AbstractSessionBeanStore.setAttribute(AbstractSessionBeanStore.java:72) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.AttributeBeanStore.put(AttributeBeanStore.java:148) [:2011-04-01 10:04]
	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:125) [:20101031-0118]
	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99) [:2011-04-01 10:04]
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:2011-04-01 10:04]
	at fi.affecto.concept.org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.ping(org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.java) [:]
	at fi.affecto.concept.Observer.newSession(Observer.java:16) [:]
	at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) [:1.7.0-ea]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0-ea]
	at java.lang.reflect.Method.invoke(Method.java:613) [:1.7.0-ea]
	at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59) [:2011-04-01 10:04]
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:619) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:613) [:2011-04-01 10:04]
	at org.jboss.seam.servlet.event.AbstractServletEventBridge.fireEvent(AbstractServletEventBridge.java:45) [:3.0.0.Final]
	at org.jboss.seam.servlet.event.ServletEventBridgeListener.sessionCreated(ServletEventBridgeListener.java:94) [:3.0.0.Final]
	at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:367) [:6.0.0.Final]
	at org.apache.catalina.session.StandardSession.setId(StandardSession.java:341) [:6.0.0.Final]
	at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:857) [:6.0.0.Final]
	at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:291) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.doGetSession(Request.java:2605) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.getSession(Request.java:2315) [:6.0.0.Final]
	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:841) [:6.0.0.Final]
	at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.getSession(LazySessionBeanStore.java:68) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.http.AbstractSessionBeanStore.setAttribute(AbstractSessionBeanStore.java:72) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.AttributeBeanStore.put(AttributeBeanStore.java:148) [:2011-04-01 10:04]
	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:125) [:20101031-0118]
	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99) [:2011-04-01 10:04]
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:2011-04-01 10:04]
	at fi.affecto.concept.org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.ping(org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.java) [:]
	at fi.affecto.concept.Observer.newSession(Observer.java:16) [:]
	at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) [:1.7.0-ea]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0-ea]
	at java.lang.reflect.Method.invoke(Method.java:613) [:1.7.0-ea]
	at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59) [:2011-04-01 10:04]
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:619) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:613) [:2011-04-01 10:04]
	at org.jboss.seam.servlet.event.AbstractServletEventBridge.fireEvent(AbstractServletEventBridge.java:45) [:3.0.0.Final]
	at org.jboss.seam.servlet.event.ServletEventBridgeListener.sessionCreated(ServletEventBridgeListener.java:94) [:3.0.0.Final]
	at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:367) [:6.0.0.Final]
	at org.apache.catalina.session.StandardSession.setId(StandardSession.java:341) [:6.0.0.Final]
	at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:857) [:6.0.0.Final]
	at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:291) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.doGetSession(Request.java:2605) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.getSession(Request.java:2315) [:6.0.0.Final]
	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:841) [:6.0.0.Final]
	at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.getSession(LazySessionBeanStore.java:68) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.http.AbstractSessionBeanStore.setAttribute(AbstractSessionBeanStore.java:72) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.AttributeBeanStore.put(AttributeBeanStore.java:148) [:2011-04-01 10:04]
	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:125) [:20101031-0118]
	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99) [:2011-04-01 10:04]
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:2011-04-01 10:04]
	at fi.affecto.concept.org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.ping(org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.java) [:]
	at fi.affecto.concept.Observer.newSession(Observer.java:16) [:]
	at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) [:1.7.0-ea]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0-ea]
	at java.lang.reflect.Method.invoke(Method.java:613) [:1.7.0-ea]
	at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59) [:2011-04-01 10:04]
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:619) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:613) [:2011-04-01 10:04]
	at org.jboss.seam.servlet.event.AbstractServletEventBridge.fireEvent(AbstractServletEventBridge.java:45) [:3.0.0.Final]
	at org.jboss.seam.servlet.event.ServletEventBridgeListener.sessionCreated(ServletEventBridgeListener.java:94) [:3.0.0.Final]
	at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:367) [:6.0.0.Final]
	at org.apache.catalina.session.StandardSession.setId(StandardSession.java:341) [:6.0.0.Final]
	at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:857) [:6.0.0.Final]
	at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:291) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.doGetSession(Request.java:2605) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.getSession(Request.java:2315) [:6.0.0.Final]
	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:841) [:6.0.0.Final]
	at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.getSession(LazySessionBeanStore.java:68) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.http.AbstractSessionBeanStore.setAttribute(AbstractSessionBeanStore.java:72) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.AttributeBeanStore.put(AttributeBeanStore.java:148) [:2011-04-01 10:04]
	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:125) [:20101031-0118]
	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99) [:2011-04-01 10:04]
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:2011-04-01 10:04]
	at fi.affecto.concept.org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.ping(org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.java) [:]
	at fi.affecto.concept.Observer.newSession(Observer.java:16) [:]
	at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) [:1.7.0-ea]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0-ea]
	at java.lang.reflect.Method.invoke(Method.java:613) [:1.7.0-ea]
	at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163) [:2011-04-01 10:04]
	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188) [:2011-04-01 10:04]
	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59) [:2011-04-01 10:04]
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265) [:2011-04-01 10:04]
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:619) [:2011-04-01 10:04]
	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:613) [:2011-04-01 10:04]
	at org.jboss.seam.servlet.event.AbstractServletEventBridge.fireEvent(AbstractServletEventBridge.java:45) [:3.0.0.Final]
	at org.jboss.seam.servlet.event.ServletEventBridgeListener.sessionCreated(ServletEventBridgeListener.java:94) [:3.0.0.Final]
	at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:367) [:6.0.0.Final]
	at org.apache.catalina.session.StandardSession.setId(StandardSession.java:341) [:6.0.0.Final]
	at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:857) [:6.0.0.Final]
	at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:291) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.doGetSession(Request.java:2605) [:6.0.0.Final]
	at org.apache.catalina.connector.Request.getSession(Request.java:2315) [:6.0.0.Final]
	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:841) [:6.0.0.Final]
	at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.getSession(LazySessionBeanStore.java:68) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.http.AbstractSessionBeanStore.setAttribute(AbstractSessionBeanStore.java:72) [:2011-04-01 10:04]
	at org.jboss.weld.context.beanstore.AttributeBeanStore.put(AttributeBeanStore.java:148) [:2011-04-01 10:04]
	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:125) [:20101031-0118]
	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99) [:2011-04-01 10:04]
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) [:2011-04-01 10:04]
	at fi.affecto.concept.org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.ping(org$jboss$weld$bean-jboss$classloader$id="vfs$$$$C$$Java$AS$jboss-6$0$0$Final$server$default$deploy$Concept$war"-ManagedBean-class_fi$affecto$concept$Pinger_$$_WeldClientProxy.java) [:]
	at fi.affecto.concept.Observer.newSession(Observer.java:16) [:]
{code}

> Calling session-scoped components from session initialized observer goes into infinite loop
> -------------------------------------------------------------------------------------------
>
>                 Key: SEAMSERVLET-35
>                 URL: https://issues.jboss.org/browse/SEAMSERVLET-35
>             Project: Seam Servlet
>          Issue Type: Bug
>          Components: Event Bridge
>    Affects Versions: 3.0.0.CR3
>            Reporter: Nicklas Karlsson
>
> Given a session scoped component
> @SessionScoped
> public class Pinger implements Serializable
> {
> 	public void ping()
> 	{
> 	};
> }
> and a session initialized observer calling it
> public class Observer
> {
> 	@Inject
> 	Pinger pinger;
> 	public void newSession(@Observes @Initialized HttpSession s)
> 	{
> 		pinger.ping();
> 	}
> }
> We go off into an infinite loop. Since Pinger doesn't exist, it is created and placed in the session scoped beanstore, which creates a session and fires off the observer. I'm not sure why the session isn't considered created at this point. This is bordering on feature since I think the result would be the same if servlet listeners would be used. Perhaps this could be worked around int the event bridge somehow so that the firing would be prevented if we're already handling the session created event...

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the seam-issues mailing list