что такое реестр RMI - PullRequest
       24

что такое реестр RMI

46 голосов
/ 14 апреля 2011

Что такое реестр RMI? Что это делает?

Ответы [ 4 ]

27 голосов
/ 14 апреля 2011

По сути, реестр RMI - это место, где сервер регистрирует предлагаемые им сервисы, и место, где клиенты могут запрашивать эти сервисы.См. Введение в Java RMI .Выдержка:

На рисунке 1 показаны соединения, сделанные клиентом при использовании RMI.Во-первых, клиент должен связаться с реестром RMI и запросить имя службы.Разработчик B не будет знать точное местоположение службы RMI, но он знает достаточно, чтобы связаться с реестром Разработчика A.Это укажет ему направление службы, которую он хочет вызвать ..

8 голосов
/ 14 апреля 2011

Реестр RMI действует как посредник между серверами RMI и клиентами.Сервер «регистрирует» свои службы в реестре - следовательно, реестр RMI может выступать в качестве «каталога» для многих серверов / служб.Клиенту не нужно знать местоположение отдельных серверов, и он выполняет поиск в реестре RMI для необходимой ему службы.Реестр, являющийся каталогом имен, возвращает клиенту соответствующий дескриптор для вызова методов.

Google вокруг, есть много информации о RMI.

2 голосов
/ 14 февраля 2015

Реестр Java для удаленного вызова методов (RMI) по сути является службой каталогов.

Реестр удаленных объектов - это служба имен начальной загрузки, которая используется серверами RMI на одном хосте для привязки удаленных объектов к именам. Клиенты на локальных и удаленных хостах могут затем искать удаленные объекты и выполнять удаленные вызовы методов. ( Документация )

Вы можете использовать RMI или JNDI для удаленного связывания и поиска вашего объекта с помощью реестра rmi.

Это хорошо известный пример использования шаблона проектирования прокси. Серверы RMI регистрируют объекты (в основном, заглушки) в реестре RMI. Удаленные клиенты ищут эти заглушки и вызывают на них методы. За сценой вызывается метод, его аргументы сериализуются и отправляются фактическому серверу RMI, который имеет реализацию. Сервер RMI (скелетный код) десериализует запрос, вызывает фактический метод, собирает результаты, десериализует его и отправляет обратно клиенту (заглушка). Заглушка десериализует результаты и возвращает их обратно в код, который вызвал этот метод.

1 голос
/ 21 апреля 2014

Сначала сервер связывает имя с удаленным объектом в реестре RMI. Когда клиент хочет получить доступ к удаленному объекту, он ищет объект по его имени в реестре. Затем клиент может вызывать методы для удаленного объекта на сервере.

http://www8.cs.umu.se/education/examina/Rapporter/471App.pdf

...