[
https://jira.jboss.org/jira/browse/JBAS-7759?page=com.atlassian.jira.plug...
]
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