I have a JSF application that, in a managed bean, calls business logic from a remote stateful session bean (EJB 3.0).
Right now there is a HttpSessionListener that calls a @Remove annotated method on that stateful session bean, so that the stateful session bean can be removed by the container as soon as the HttpSession gets destroyed.
Now I wonder what happens if I don't call that @Remove annotated method and the HttpSession gets destroyed. The client of the stateful session bean does no loger exist then. Will the container ever remove the stateful session bean? Or will it exist forever causing some kind of leak (memory / disk)?