gpt4 book ai didi

java - java中如何存储rmi连接?

转载 作者:行者123 更新时间:2023-12-01 16:09:28 24 4
gpt4 key购买 nike

我这里遇到了问题。我有一个通过 RMI 调用 B 的客户端 A 代码。之后,我通过 JMS 向实际实现 C 发送队列请求。但是,我不知道 A 的“地址”。有没有办法以某种方式存储连接数据,以便我稍后可以将数据返回到 A

基本上,B 可能有大量请求,并且需要将其同步到请求者。如何做到这一点?

示例:

答:

...
rmiB.HelloWorld("Sys");
...

B:

String HelloWorld(String s) {
...
sendToJMS(s);
...
return????
}

C:

String HelloWorldOnJMS(String aff) {
return "aff+2"
}

最佳答案

如果无法修改A,则B需要负责阻塞,直到C产生结果,并返回该结果作为 RMI 方法的结果是同步的。

所以看来问题更多的是关于C如何回复B(或“Bs”,因为听起来你有一个这样的集群)而不是如何回复回复A

通常,像这样的同步调用是由 creating a temporary queue, 通过 JMS 模拟的。和 specifying that as the reply address在消息上。因此,B 将创建一个临时队列,然后阻塞该队列,直到收到 C 返回的结果,然后将回复内容返回给 A.

我可能不完全理解您的情况,但似乎任何其他方法都需要修改 AB 接口(interface)。

关于java - java中如何存储rmi连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1772928/

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