ipc如何快速学习Java RMI
我有一个Java应用程序,我已经开发了一两年了。我想创建一组非常简单的接口(以后可能会增加复杂性),我可以使用这些接口从另一个JVM(例如MATLAB)控制我的Java应用程序
我认为RMI是最好的方法,但我不确定,因为我对它几乎一无所知
快速学习RMI的最佳方法是什么
假设我想使用这样的界面:
interface Application {
public void setLoggingEnabled(boolean enable);
public boolean isLoggingEnabled();
}
我如何使用RMI通过这个接口实现两个JVM之间的桥梁?我必须知道什么是阻塞/线程化/同步,才能使这项工作正常进行
# 1 楼答案
一种快速的方法是使用Spring。这并不(必然)意味着要使用大量XML配置:Spring的RMI支持类可以通过编程方式使用
这两个关键类别是:
这样做的一个优点是,您只需要编写接口的实现,然后就可以使用
RmiServiceExporter
来实现。同时,在客户端,使用RmiProxyFactoryBean
可以为您提供一个实现接口的代理对象。就客户端代码而言,它使用的是接口的“真实”实现,但代理为您执行RMI调用。RMI的使用是透明的作为一个例子,我刚刚使用您的界面编写了一个服务器和客户机
我对接口的实现是:
服务器端代码是:
客户端代码是:
以下为预期产出:
# 2 楼答案
好的链接开始:
RMI指南:
http://download.oracle.com/javase/6/docs/technotes/guides/rmi/index.html
http://download.oracle.com/javase/1.4.2/docs/guide/rmi/
RMI教程:
http://download.oracle.com/javase/tutorial/rmi/index.html