在Java中,远程对象也可以是客户端吗?
所以客户端可以调用一个远程对象,通过它的接口定义该tat对象是一个远程对象,但是它也可以是另一个远程对象的客户端吗?
如果是的话,需要做一些特殊工作才能使远程对象成为客户端
谢谢!
答案 0 :(得分:1)
这是可能的,但并非没有直接干预。当你调用一个远程对象时,那就是一个“跳”。从客户端到服务器。如果服务器是自己的客户端到一些其他远程对象,那么这是两个跃点。
您可以通过实现将服务器上的所有调用委托给第二台服务器的代理来实现这一点(因为客户端和服务器都使用相同的RMI接口。)
E.g。
ClientA ---> (ServerA>ClientB) ----> ServerB
ServerA的实现> ClientB是一个公开为ServerA的Java代理,它将所有方法委托给ClientB。