【发布时间】:2017-11-06 20:17:18
【问题描述】:
我有一个关于 java RMI 应用程序的具体设计的问题。我刚开始学习如何使用 rmi。我有一个小应用程序:一个小型证券交易所应用程序。所以有证券交易所类,每个人都有一个仓库类。 depot 类对市场有参考。市场类具有创建仓库的功能(它返回一个新仓库)。我想以这种方式设计应用程序,远程客户端可以获得他自己的仓库的引用,并且所有客户端共享股票市场类(因此运行时应该只有一个对象)。
我需要设计一个扩展接口“远程”的接口。该接口描述了客户端可以调用的函数。但是类证券交易所和仓库呢?他们是否需要实现或扩展一个类才能使 rmi 工作?
在我的界面中有一个函数,它打开一个新的 depot 并返回一个 depot 对象。但是当我调用那个函数时,有一个例外:
线程“main”java.lang.ClassCastException 中的异常:com.sun.proxy.$Proxy1 无法转换为软件仓库
【问题讨论】: