Section 7.6.3 of the spec (page 82) for SFSB says the following:
The following scenarios result in ejbRemove() not being called on an
instance:
� A crash of the EJB Container.
� A system exception thrown from the instance�s method to the Container.
� A timeout of client inactivity while the instance is in the passive state. The timeout is specified
by the Deployer in an EJB Container implementation specific way.
Since spec mentions only these scenarios, I would assume that, when client calls the remove method explicitly, it should get the bean back to method ready state. But, I also did not notice this action - "bringing the bean from passivated to method ready for calling ejbRemove" - as mandatory action anywhere. Hence I would assume it would depend more on the container implementation.
In short - according to the scenarios given in the spec, ideally the bean should transition from passive to method ready, but as spec doesn't mandate this transition, it will depend on container implementation.
Ranchers, please correct me if I am wrong.