我正在尝试构建rmi-iiop应用程序(非常简单的聊天)。 我需要服务器能够与客户进行沟通,所以我的想法是创建连接的用户界面:RMI IIOP客户端对象作为回调
public interface UserInterface extends Remote {
public void receiveMessage(String message) throws RemoteException;
}
然后在客户端创建一个方法服务器用户类可以执行(“receiveMessage”):
public class User extends PortableRemoteObject implements UserInterface {
protected User() throws RemoteException {
super();
}
@Override
public void receiveMessage(String message) throws RemoteException {
client.addMessageToGUI();
}
}
我用rmic -iiop Chat User
产生_Chat_Tie.class _ChatInterface_Stub.class _User_Tie.class _UserInterface_Stub.class
放置在服务器端和客户端的所有文件,并运行该应用程序我得到以下错误后: java.rmi.StubNotFoundException: Stub class not found: User_Stub; nested exception is:
我猜这里的区别在于,聊天类是在服务器上创建的,然后客户端使用它使用接口(它工作正常),但用户类必须在客户端创建,因此客户端部分作为服务器工作。
我的问题与Java RMI - Making the client a server 类似,但对于rmi-ioop实现。
所以说句话 - 我如何发送本地对象引用到服务器,以便它可以对它执行操作?
谢谢! Leonty
东西可以称为“POA”(可移植对象适配器),这是CORBA标准的一部分有我想要实现呢? – Leonti 2011-06-16 03:56:01
从Java 5.0开始,您不再需要'rmic'。 – 2011-06-22 23:48:19