我当前正在开发一个拍卖系统,其中客户端使用Java RMI连接到前端,然后前端也使用Java RMI连接到一台服务器。前端还使用JGroups
连接到服务器集群,并管理服务器上的数据,从而通过将消息传递给所有服务器来确保所有服务器上存储的数据相同。但是,我的所有服务器都需要扩展ReceiverAdapter
,以便它们可以接收消息,以及在前端使用RMI时扩展java.rmi.server.UnicastRemoteObject
。做这个的最好方式是什么?
最佳答案
无需扩展UnicastRemoteObject
,而是在对象上调用其静态方法:
UnicastRemoteObject.exportObject(object, port);
(或4参数重载方法)。
UnicastRemoteObject
的API列出了6种导出对象的方法。 3涉及对UnicastRemoteObject
的子类化,其他3涉及对exportObject
的调用(但不赞成使用3中的1,因此我在上面列出了2)。