У меня неприятная проблема, но сначала позвольте мне объяснить контекст.
Проект - простой проект, поэтому я знакомлюсь с RMI.Проект представляет собой сервер фондовой биржи и клиент, который получает данные о средствах с сервера.
Я разделил проект на 3 Java-проекта.Сервер (с MockStockMarket и Fund), клиент (имеющий классы GUI и класс для общения с сервером: BannerController) и проект с интерфейсами, которые нужны и клиенту, и серверу (IStockMarket и IFund).
Я хочу, чтобы мой bannerController общался с StockMarket, чтобы баннерный контролер получал средства.Это делается с помощью getFunds (): ArrayList.
Как видите, StockMarket должен быть удаленным, а фонд должен быть сериализуемым.
Проблема по какой-то причине, когда я использую следующий код:
IStockMarket market = new MockStockMarket();
Naming.rebind("rmi://localhost/StockMarket", market);
И IStockMarket (как предполагалось), и IFund (не как предполагалось) становятся удаленными.Это не то, что я хочу.
Для справки: Фонд реализует IFund, который расширяет Serializable (так что ничего удаленного), а MockStockMarket расширяет UnicastRemoteObject и реализует IStockMarket, который расширяет Remote.
Вотснимок экрана для веб-сервера, публикующего оба интерфейса: http://imageshack.us/m/194/4755/rmibothinterfacespublis.png.
Для кода Sour: https://rapidshare.com/files/2085773800/stockmarket.zip