The most likely cause is:
Your servlet is holding a reference to the
previous version of the xxSessionHome.
You just redeployed that class. It is changed,
it is reloaded in a new classloader, so it isn't the
You must cycle the servlet as well.
One common solution to this problem is to put
interfaces in a separate jar so that they do
not get redeployed, just the bean implementations.
Another is ear packaging so the servlet is reloaded
with the ejbs.