It seems as though my stateful session beans (in this case, session scoped) are not being "destroyed" correctly. I have a method which is annotated with the @Remove and @Destroy annotations. When the stateful session bean is being destroyed (after the HTTP session times out - and yes, my SFSB timeout is set to a longer time than the HTTP session timeout), the annotated method is not being called.
Interestingly, I notice my logs seemingly invoke a predestroy mechanism. I originally didn't have the @PreDestroy annotation on my method (which already had @Remove and @Destroy), so I decided to put it in (i.e. the @PreDestroy annotation). When I did that, the method was called via PreDestroy, but not Remove or Destroy. So I'm using it as a workaround right now because it does not seem to be called during @Destroy.
I also notice when the component is getting destroyed, I'm getting a javax.ejb.EJBNoSuchObjectException: Could not find Stateful bean. Is there a reason for this or is this a bug?
Environment:
Windows XP Pro
Seam 1.2.1GA
ICEfaces 1.6
JBoss 4.0.5GA