[weld-issues] [JBoss JIRA] Updated: (WELD-442) Session event listener throws javax.ejb.NoSuchEJBException after certain time of inactivity in a session

Martin Gencur (JIRA) jira-events at lists.jboss.org
Thu Feb 18 03:30:10 EST 2010


     [ https://jira.jboss.org/jira/browse/WELD-442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Gencur updated WELD-442:
-------------------------------

    Description: 
When using stateful session beans, the following exception is thrown after approximately 11 minutes of inactivity in a session. I'm not using any specific settings - just defaults. My SFSB class in the stacktrace is org.jboss.weld.examples.pastecode.session.History


13:40:23,427 INFO  [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/weld-pastecode]] org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: loaded (conf ok)
13:51:08,812 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/weld-pastecode]] Session event listener threw exception: javax.ejb.NoSuchEJBException: Could not find Stateful bean: 3j011-vkamuu-g5s27uvi-1-g5s42hod-ac
	at org.jboss.ejb3.cache.simple.SimpleStatefulCache.remove(SimpleStatefulCache.java:544)
	at org.jboss.ejb3.stateful.StatefulContainer.destroySession(StatefulContainer.java:1452)
	at org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl.destroySession(EndpointImpl.java:61)
	at org.jboss.weld.integration.ejb.JBossSessionObjectReference.remove(JBossSessionObjectReference.java:62)
	at org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:108)
	at org.jboss.weld.util.CleanableMethodHandler.invoke(CleanableMethodHandler.java:43)
	at org.jboss.weld.examples.pastecode.session.History_$$_javassist_54.destroy(History_$$_javassist_54.java)
	at org.jboss.weld.bean.SessionBean.destroy(SessionBean.java:329)
	at org.jboss.weld.context.ForwardingContextual.destroy(ForwardingContextual.java:34)
	at org.jboss.weld.context.AbstractMapContext.destroy(AbstractMapContext.java:146)
	at org.jboss.weld.context.AbstractMapContext.destroy(AbstractMapContext.java:163)
	at org.jboss.weld.context.AbstractThreadLocalMapContext.destroy(AbstractThreadLocalMapContext.java:68)
	at org.jboss.weld.context.ContextLifecycle.endSession(ContextLifecycle.java:80)
	at org.jboss.weld.servlet.ServletLifecycle.endSession(ServletLifecycle.java:96)
	at org.jboss.weld.servlet.WeldListener.sessionDestroyed(WeldListener.java:141)
	at org.apache.catalina.session.StandardSession.expire(StandardSession.java:686)
	at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:581)
	at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:690)
	at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:675)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1383)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1675)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1684)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1684)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1664)
	at java.lang.Thread.run(Thread.java:619)



Steps to reproduce (use a new weld jsf application "Pastecode"):
1) setup your desired session-timeout in war/src/main/webapp/WEB-INF/web.xml file (10 minutes is OK to see the exception)
1) package the app (simply "mvn clean package")
2) deploy the resulting EAR to JBoss AS 6.0.x
3) go to http://localhost:8080/weld-pastecode
4) click the "History" link
5) and wait for 10+ minutes :)

  was:
When using stateful session beans, the following exception is thrown after approximately 11 minutes of inactivity in a session. I'm not using any specific settings - just defaults. My SFSB class in the stacktrace is org.jboss.weld.examples.pastecode.session.History


13:40:23,427 INFO  [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/weld-pastecode]] org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: loaded (conf ok)
13:51:08,812 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/weld-pastecode]] Session event listener threw exception: javax.ejb.NoSuchEJBException: Could not find Stateful bean: 3j011-vkamuu-g5s27uvi-1-g5s42hod-ac
	at org.jboss.ejb3.cache.simple.SimpleStatefulCache.remove(SimpleStatefulCache.java:544)
	at org.jboss.ejb3.stateful.StatefulContainer.destroySession(StatefulContainer.java:1452)
	at org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl.destroySession(EndpointImpl.java:61)
	at org.jboss.weld.integration.ejb.JBossSessionObjectReference.remove(JBossSessionObjectReference.java:62)
	at org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:108)
	at org.jboss.weld.util.CleanableMethodHandler.invoke(CleanableMethodHandler.java:43)
	at org.jboss.weld.examples.pastecode.session.History_$$_javassist_54.destroy(History_$$_javassist_54.java)
	at org.jboss.weld.bean.SessionBean.destroy(SessionBean.java:329)
	at org.jboss.weld.context.ForwardingContextual.destroy(ForwardingContextual.java:34)
	at org.jboss.weld.context.AbstractMapContext.destroy(AbstractMapContext.java:146)
	at org.jboss.weld.context.AbstractMapContext.destroy(AbstractMapContext.java:163)
	at org.jboss.weld.context.AbstractThreadLocalMapContext.destroy(AbstractThreadLocalMapContext.java:68)
	at org.jboss.weld.context.ContextLifecycle.endSession(ContextLifecycle.java:80)
	at org.jboss.weld.servlet.ServletLifecycle.endSession(ServletLifecycle.java:96)
	at org.jboss.weld.servlet.WeldListener.sessionDestroyed(WeldListener.java:141)
	at org.apache.catalina.session.StandardSession.expire(StandardSession.java:686)
	at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:581)
	at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:690)
	at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:675)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1383)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1675)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1684)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1684)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1664)
	at java.lang.Thread.run(Thread.java:619)




> Session event listener throws javax.ejb.NoSuchEJBException after certain time of inactivity in a session
> --------------------------------------------------------------------------------------------------------
>
>                 Key: WELD-442
>                 URL: https://jira.jboss.org/jira/browse/WELD-442
>             Project: Weld
>          Issue Type: Bug
>            Reporter: Martin Gencur
>
> When using stateful session beans, the following exception is thrown after approximately 11 minutes of inactivity in a session. I'm not using any specific settings - just defaults. My SFSB class in the stacktrace is org.jboss.weld.examples.pastecode.session.History
> 13:40:23,427 INFO  [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/weld-pastecode]] org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: loaded (conf ok)
> 13:51:08,812 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/weld-pastecode]] Session event listener threw exception: javax.ejb.NoSuchEJBException: Could not find Stateful bean: 3j011-vkamuu-g5s27uvi-1-g5s42hod-ac
> 	at org.jboss.ejb3.cache.simple.SimpleStatefulCache.remove(SimpleStatefulCache.java:544)
> 	at org.jboss.ejb3.stateful.StatefulContainer.destroySession(StatefulContainer.java:1452)
> 	at org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl.destroySession(EndpointImpl.java:61)
> 	at org.jboss.weld.integration.ejb.JBossSessionObjectReference.remove(JBossSessionObjectReference.java:62)
> 	at org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:108)
> 	at org.jboss.weld.util.CleanableMethodHandler.invoke(CleanableMethodHandler.java:43)
> 	at org.jboss.weld.examples.pastecode.session.History_$$_javassist_54.destroy(History_$$_javassist_54.java)
> 	at org.jboss.weld.bean.SessionBean.destroy(SessionBean.java:329)
> 	at org.jboss.weld.context.ForwardingContextual.destroy(ForwardingContextual.java:34)
> 	at org.jboss.weld.context.AbstractMapContext.destroy(AbstractMapContext.java:146)
> 	at org.jboss.weld.context.AbstractMapContext.destroy(AbstractMapContext.java:163)
> 	at org.jboss.weld.context.AbstractThreadLocalMapContext.destroy(AbstractThreadLocalMapContext.java:68)
> 	at org.jboss.weld.context.ContextLifecycle.endSession(ContextLifecycle.java:80)
> 	at org.jboss.weld.servlet.ServletLifecycle.endSession(ServletLifecycle.java:96)
> 	at org.jboss.weld.servlet.WeldListener.sessionDestroyed(WeldListener.java:141)
> 	at org.apache.catalina.session.StandardSession.expire(StandardSession.java:686)
> 	at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:581)
> 	at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:690)
> 	at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:675)
> 	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1383)
> 	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1675)
> 	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1684)
> 	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1684)
> 	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1664)
> 	at java.lang.Thread.run(Thread.java:619)
> Steps to reproduce (use a new weld jsf application "Pastecode"):
> 1) setup your desired session-timeout in war/src/main/webapp/WEB-INF/web.xml file (10 minutes is OK to see the exception)
> 1) package the app (simply "mvn clean package")
> 2) deploy the resulting EAR to JBoss AS 6.0.x
> 3) go to http://localhost:8080/weld-pastecode
> 4) click the "History" link
> 5) and wait for 10+ minutes :)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the weld-issues mailing list