gpt4 book ai didi

java - 如何传递导出的 RMI-IIOP 对象的远程引用

转载 作者:行者123 更新时间:2023-11-30 11:08:02 48 4
gpt4 key购买 nike

假设我想将以下 RMI-IIOP 导出对象的远程引用传递给接收者(这是另一个远程对象):

public interface MyInterface extends Remote
{
public void send(Receiver receiver);

public String sayHello();

}

public class MyObject implements MyInterface
{
public MyObject()
{
PortableRemoteObject.exportObject(this); // I know I could extend PortableRemoteObject instead
}

public void send(Receiver receiver)
{
// which one is correct?

/* 1. */ receiver.receive(this);
/* 2. */ receiver.receive(this.toStub());
/* 3. */ // other things, such as narrow...
}

public String sayHello() { return "hello"; }
}

这是接收方法的实现:

public void receive(Remote remote)
{
MyInterface myObjectRef = (MyInterface) PortableRemoteObject.narrow(remote, MyInterface.class);
System.out.println(myObjectRef.sayHello());
}

目标是 sayHello() 方法的正确远程调用。

谢谢。

最佳答案

它们是等价的。 RMI 的语义规定导出的远程对象作为它们自己的 stub 传递。

关于java - 如何传递导出的 RMI-IIOP 对象的远程引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28659443/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com