RMI: использование стороннего удаленного объекта - PullRequest
0 голосов
/ 21 февраля 2011

Просто когда я подумал, что знаю, как работает RMI, он возвращается и говорит мне, что нет.Следующая ситуация:

Я дал:

Интерфейс предлагает 3 чистых метода получения, чтобы получить информацию об объекте.Я просто хочу найти объект, вызывающий три метода и распечатать их значения:

Однако следующая реализация (http://pastebin.com/d4JS0Wai) не справляется со следующим, исключая следующее:

Исключение в потоке "main" java.rmi.UnmarshalException: ошибка необратимого возврата;Вложенное исключение: java.lang.ClassNotFoundException: статья в sun.rmi.registry.RegistryImpl_Stub.lookup (неизвестный источник) в rmi.ArticleDisplayer.main (ArticleDisplayer.java:21)

Причина: java.lang.ClassNotFoundException: статья на java.net.URLClassLoader $ 1.run (неизвестный источник) на java.security.AccessController.doPrivileged (собственный метод) на java.net.URLClassLoader.findClass (неизвестный источник) ...

Также я не знаю, зачем мне нужен SecurityManager, так как моя машина не выполняет код.Код выполняется на компьютере, на котором запущена служба регистрации.В любом случае, это мой файл политики: http://pastebin.com/chGEqceA

Ответы [ 2 ]

0 голосов
/ 21 февраля 2011

Хорошо, ответ на проблему:

Реализация, а также интерфейс находятся внутри пакета по умолчанию. Я написал программу в своем собственном пакете: rmi

Также интерфейсы, которые я скачал, где в пакете rmi. По сути рми.Артикул! = Ст.

0 голосов
/ 21 февраля 2011

Эта проблема возникает из-за того, что у вас должен быть класс того же Article, доступный как клиенту, так и исходным приложениям.

Вы можете сделать Jar с общими классами, используемыми двумя модулями (клиентом и сервером), и использовать его (я обычно называю «общие ресурсы» для этих типов пакетов).

...