tags:

views:

78

answers:

1

Hi,

I have a stateless session bean and a standalone-java-program acting as a client. The bean method executes just fine when the interface is marked @Remote. However,when I mark that interface with @Local instead of @Remote, I get the following Exception.

 [java] javax.naming.NamingException: Could not dereference object [Root exception is java.lang.RuntimeException: Could not find InvokerLocator URL at JNDIaddress "chapter1/HelloUserBean/local"; looking up local Proxy from Remote JVM?]

But I expected even the latter to work, since it is the same computer that the code executes in.

Seeing this behavior, I am assuming that, the Application-Server and the Standalone-Java-Program use different JVM instances and not a single JVM instance and so this client can access only through a remote interface.

Is that assumption correct ?

Thanks !

+1  A: 

Yes, it is correct.

@Local interfaces are to be used only within the same application-server. The application server starts one JVM instance, and your standalone client starts another.

Bozho
thanks! its clear now :)
stratwine
@stratwine - feel free to mark the answer as accepted (tick below the vote counter)
Bozho