【发布时间】:2009-08-10 14:45:38
【问题描述】:
我正在使用 RMI 来实现一些分布式算法,并且由于我们正在传输相当大的对象,我想要一些关于 RMI 何时通过网络传输序列化对象的精确度。
假设我有一个具有以下方法的远程类。
class MyServer extends Remote {
public synchronized void foo (Bar bar) {
...
Thread.wait();
...
}
}
现在,我有两个(或更多)RMI 客户端调用 MyServer.foo 方法。 当 Client 1 调用它时,它会在 Thread.wait() 中被阻塞。然后,Client 2 调用 foo 并被阻塞,因为 Client 1 仍在同步的 foo 方法中。
现在,问题是:Client 2 调用的bar 参数何时通过网络传输?只有一次 Client 2 可以真正进入 foo 方法或之前,当它被阻塞时?
额外问题:这是(传输对象的时间)是 RMI 规范强制执行的行为还是特定于实现的行为?
【问题讨论】:
-
这段代码甚至无法编译。不清楚你在问什么。
标签: java jakarta-ee rmi