Looking for java Answers? Try Ask4KnowledgeBase
Looking for java Keywords? Try Ask4Keywords

Java LanguageУдаленный вызов метода (RMI)


замечания

RMI требует 3 компонента: клиент, сервер и общий удаленный интерфейс. Общий удаленный интерфейс определяет контракт клиент-сервер, указывая методы, которые должен выполнить сервер. Интерфейс должен быть видимым для сервера, чтобы он мог реализовать методы; интерфейс должен быть виден клиенту, чтобы он знал, какие методы («службы») предоставляют сервер.
Любой объект, реализующий удаленный интерфейс, должен взять на себя роль сервера. Таким образом, отношения клиент-сервер, в которых сервер также может вызывать методы в клиенте, на самом деле являются отношениями сервер-сервер. Это называется обратным вызовом, так как сервер может перезванивать «клиент». Имея это в виду, допустимо использовать клиент назначения для серверов, которые функционируют как таковые.

Общий удаленный интерфейс - это любой интерфейс, расширяющий Remote . Объект, который функционирует как сервер, претерпевает следующие действия:

  1. Реализует общий удаленный интерфейс, явно или неявно, путем расширения UnicastRemoteObject который реализует Remote .
  2. Экспортируется либо неявно, если он расширяет UnicastRemoteObject , либо явно передается в UnicastRemoteObject#exportObject .
  3. Связан в реестре, либо напрямую через Registry либо косвенно через Naming . Это необходимо только для установления первоначальной связи, поскольку дальнейшие заглушки могут быть переданы непосредственно через RMI.

В настройке проекта проекты клиента и сервера полностью не связаны друг с другом, но каждый указывает общий проект в своем пути сборки. Общий проект содержит удаленные интерфейсы.

Удаленный вызов метода (RMI) Связанные примеры