[jboss-jira] [JBoss JIRA] Updated: (JBAS-7759) Weld applications throw javax.ejb.NoSuchEJBException after certain time of inactivity in a session
Pete Muir (JIRA)
jira-events at lists.jboss.org
Mon Feb 22 04:36:10 EST 2010
[ https://jira.jboss.org/jira/browse/JBAS-7759?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pete Muir updated JBAS-7759:
----------------------------
Summary: Weld applications throw javax.ejb.NoSuchEJBException after certain time of inactivity in a session (was: Session event listener throws javax.ejb.NoSuchEJBException after certain time of inactivity in a session)
Component/s: EJB3
Web (Tomcat) service
Weld/CDI
Fix Version/s: JBossAS-6.0.0.M3
Description:
When using stateful session beans with CDI, 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)
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 :)
Move issue to JBAS, as this is an issue which requires alignment between EJB3/Servlet
> Weld applications throw javax.ejb.NoSuchEJBException after certain time of inactivity in a session
> --------------------------------------------------------------------------------------------------
>
> Key: JBAS-7759
> URL: https://jira.jboss.org/jira/browse/JBAS-7759
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: EJB3, Web (Tomcat) service, Weld/CDI
> Reporter: Martin Gencur
> Fix For: JBossAS-6.0.0.M3
>
>
> When using stateful session beans with CDI, 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 jboss-jira
mailing list