来自 Spring 应用程序的旧式 RMI 调用

Posted

技术标签:

【中文标题】来自 Spring 应用程序的旧式 RMI 调用【英文标题】:Legacy RMI call from a Spring Application 【发布时间】:2013-04-15 11:39:08 【问题描述】:

我们有一个服务在另一台服务器上运行,可以使用旧的 rmi 调用 (Corba) 进行访问。该服务器与Spring无关,位于另一个地方,我们对开发和源码没有任何影响。

我们在 weblogic 服务器中有一个 Spring 应用程序,在这个应用程序中,我们有一些代理类,它们访问普通的 RMI 并获取数据。不幸的是,这种方法意味着我们不能使用 spring bean 注入,也不能在我们的单元测试中模拟代理类。

所以我们正在搜索一个方法,从 Spring (Bean) 上下文中访问遗留的 rmi。我在网上搜索,但总是得到相同的结果,服务器也是一个 spring 应用程序。

谁能给我一个线索,我应该在哪里搜索或者是否有任何框架、库等可以帮助我解决问题。

非常感谢

【问题讨论】:

【参考方案1】:

您可以使用RmiProxyFactoryBean 访问传统的 RMI 服务,而不仅仅是 Spring RMI Invokers。

对于传统的 RMI 代理,使用 RMI 服务接口或镜像 RMI 服务接口的接口,但不要声明 RemoteExceptions

【讨论】:

非常感谢。我尝试了一个“Hello World”,它运行良好。

以上是关于来自 Spring 应用程序的旧式 RMI 调用的主要内容,如果未能解决你的问题,请参考以下文章

JAVA RMI技术及其spring封装的使用

Spring框架实现——远程方法调用RMI代码演示

rmi远程调用

RMI spring

rmi简单用例,简单有效

普通方法实现——远程方法调用RMI代码演示