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
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to