导出对象时,我发现这两个
LocateRegistry.createRegistry(1099);
ObjectToExport obj = new ObjectToExport();
UnicastRemoteObject.exportObject(obj, 1099);
Naming.rebind("ObjectName", obj);
和这个
LocateRegistry.createRegistry(1099);
ObjectToExport obj = new ObjectToExport();
Naming.rebind("ObjectName", UnicastRemoteObject.exportObject(obj, 1099));
的工作。在第一个我不使用exportObject
的返回值,在第二个我做。这两种导出对象的方式有区别吗?
API仅表示返回值为remote object stub
。
答案 0 :(得分:0)
导出步骤没有区别,但你也绑定了对象,这一步有所不同。在第一步中,你传递了实际的对象;在第二个,存根。 然而 RMI的语义是导出的远程对象作为自己的存根传递给远程方法,因此注册表中的实际效果是相同的。