我必须从Weblogic服务器中另一个JVM中的远程客户端进行普通的RMI调用。我的远程服务器通过RMIServiceExporter
将Spring bean公开为RMI对象,如果我使用sun.jndi.RemoteContextfactory
作为我的上下文工厂并使用rmi://host:rmiPort
作为我的提供者URL,则它可以正常工作。
由于我的上下文工厂不属于Weblogic,我无法使用Weblogic服务器功能,如安全性,Weblogic事务等,作为我的RMI调用的一部分。
作为Weblogic文档的一部分,声明Weblogic通过JNDI支持RMI。所以我需要澄清以下问题:
我可以在服务器中使用JNDIRmiServiceExporter
将bean公开为RMI对象吗?
但是根据Spring Documentation,有人指出JNDIRmiServiceExporter
只应用于基于“RMI-IIOP(CORBA)”的操作,这是为了实现非Java平台之间的互操作性。在我的例子中,它只在Java对象之间。
如果我通过JNDIRmiServiceExporter
导出bean,我将获得远程处理,但像DGC等RMI功能将不会成为我的代码的一部分。另外,我担心RMI-IIOP(CORBA)无法实现复杂对象的完全可移植性,因为它必须执行独立于平台的操作。
我可以通过RMIServiceExporter
&通过JNDI绑定导出的对象?从我的远程客户端可以使用JNDI名称访问这些远程对象,以便我可以利用Weblogic服务器功能吗?是否可行且技术上正确?