我有一个无状态会话bean和一个独立的java程序作为客户端。当接口被标记为@Remote时,bean方法执行得很好。但是,当我用@Local而不是@Remote标记该接口时,我会得到以下异常。
[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?]但我希望后者也能工作,因为它是执行代码的同一台计算机。
看到这种行为,我假设Application-Server和Standalone-Java-Program使用不同的JVM实例,而不是单个JVM实例,因此该客户机只能通过远程接口进行访问。
这个假设是正确的吗?
谢谢!
发布于 2010-05-19 19:10:21
是的,它是正确的。
@Local接口只能在同一应用程序服务器中使用。应用服务器启动一个JVM实例,而您的独立客户机启动另一个实例。
https://stackoverflow.com/questions/2864898
复制相似问题