I had the same problem. I still looking for an answer... :)
Naming convention in JNDI is:
So in your case you cannot look up your bean with
Hello.class.getName()because this is the old (4.0.3SP1) style. You sould do something like:
I can't really remember how it works when just packaging with ejb3...
Try a lookup on "Hello/remote" instead of
"The default JNDI name for any @Remote or @Local interfaces is no longer the FQN of the interface. It is now EJBNAME/remote or EJBNAME/local respectively."
oups yes HelloBean/remote ;)
Many many thanks, guys!
I haven't read that doc about the changes and bumped my head what am I doing wrong, but haven't thought about that.
erm, isn't that a bit counterproductive?
I've got a Remote interface that remote clients use, but actually two different implementations depending on the enviroment.
Now with this change the remote client application needs to know what implementation is deployed onto JBoss, and any abstraction that EJB gave us are gone. Why is that? How do you do lookups now w/o knowing what Bean implements the remote interface?
Another thing: Jobss doesn't deploy to EJBNAME/remote but to EARNAME/EJBBEANNAME/remote, so you also need to know the EAR name.