[jboss-user] [JBoss Seam] - @Unwrap from SFSB and session timeout issue
jazir1979
do-not-reply at jboss.com
Thu Jan 4 22:30:59 EST 2007
Hi folks,
I have a "UserManager" SFSB Seam component with session scope that uses the @Unwrap annotation to unwrap a User entity bean. I believe this is the "manager component" pattern described in the Seam reference guide.
I am doing it this way because I don't want my User entity to be a seam component in its own right, and I want clustering/state replication to occur on my UserManager SFSB that has the User as an instance variable.
This all works really well until a session timeout occurs - Seam tries to find a destroy() method on the User entity bean instead of the UserManager SFSB!!
Here is the stacktrace:
| java.lang.IllegalArgumentException: method not found: destroy for component: user (check that it is declared on the session bean business interface)
| at org.jboss.seam.Component.callComponentMethod(Component.java:1809)
| at org.jboss.seam.Component.callDestroyMethod(Component.java:1747)
| at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:189)
| at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:230)
| at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:45)
| at org.apache.catalina.session.StandardSession.expire(StandardSession.java:687)
| at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:579)
| at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:678)
| at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:663)
| at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1284)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: java.lang.NoSuchMethodException: entity.User.destroy()
| at java.lang.Class.getMethod(Class.java:1581)
| at org.jboss.seam.Component.callComponentMethod(Component.java:1788)
| ... 14 more
|
Is this behaviour expected?
cheers,
Daniel.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3998144#3998144
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3998144
More information about the jboss-user
mailing list