The app server doesnt have to know anything from the client from the remove() operation, because after each and every method call, the bean is decoupled from the client. We had this discussion with SUN during the branding process and they confirmed that the remove() operation is a no-op on a stateless bean. Can you even fathom for me what remove() might do? According to the lifecycle, the bean goes in the pool immediately after it finishes running, so by the time you call remove() as per the spec, the bean must already be in the pool.
Trust me it does nothing. Read the generated stub source for your app server. Youll see.