Вызов удаленного метода это способ, которым программист использует и его среда разработки удаленно. Все дело в том, как объекты на разных компьютерах взаимодействуют в распределенной сети. В этой статье об удаленном вызове методов в Java я расскажу вам, как создать приложение RMI для клиента и сервера.
в силу в Java
В этой статье рассматриваются следующие темы:
Давайте начнем!
Что такое RMI в Java?
В RMI (Remote Method Invocation) - это API, который предоставляет механизм для создания распределенного приложения в . RMI позволяет объекту вызывать методы для объекта, запущенного в другом . Вызов удаленного метода обеспечивает удаленную связь между приложениями с помощью двух объектов. заглушка и скелет .
Понимание заглушки и скелета
Объект-заглушка на клиентском компьютере создает информационный блок и отправляет эту информацию на сервер. Блок состоит из:
- Идентификатор удаленного объекта, который будет использоваться
- Имя метода, который необходимо вызвать
- Параметры удаленной JVM
Скелетный объект
Скелетный объект передает запрос от объекта-заглушки удаленному объекту. Он выполняет следующие задачи:
Он вызывает нужный метод для реального объекта, присутствующего на сервере.
Он перенаправляет параметры, полученные от объекта-заглушки, в метод.
На этом давайте пойдем дальше и посмотрим, как создать приложение RMI.
Шаги по созданию приложения RMI
Следующие шаги помогут вам создать приложение RMI:
- Определение удаленного интерфейс
- Реализация удаленного интерфейса
- Создание заглушки и скелета объекты из класса реализации с использованием RMIC (компилятор RMI)
- Запустите реестр RMI
- Создание и выполнение серверной прикладной программы
- Создать и запустить клиентское приложение
Теперь давайте подробно рассмотрим эти шаги.
функция Фибоначчи c ++
Шаг 1. Определение удаленного интерфейса
Первое, что нам нужно сделать, это создать интерфейс . Это предоставит описание методов, которые могут быть вызваны удаленными клиентами. Этот интерфейс должен расширять удаленный интерфейс, а прототип метода в интерфейсе должен генерировать исключение RemoteException.
// Создание интерфейса поиска import java.rmi. * Public interface Search extends Remote {// Объявление прототипа метода public String Query (поиск строки) вызывает RemoteException}
Шаг 2: Внедрение удаленного интерфейса
Следующим шагом будет реализация удаленного интерфейса. Чтобы реализовать удаленный интерфейс, класс должен расширяться до UnicastRemoteObject класс пакета java.rmi . Также по умолчанию строитель необходимо создать, чтобы бросить java.rmi.RemoteException из родительского конструктора.
// Программа Java для реализации интерфейса поиска import java.rmi. * Import java.rmi.server. * Открытый класс SearchQuery extends UnicastRemoteObject реализует Search {// Конструктор по умолчанию для выдачи исключения RemoteException из родительского конструктора SearchQuery () выдает RemoteException {super ( )} // Реализация интерфейса запроса public String query (String search) выдает RemoteException {String result if (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}
Шаг 3. Создание объектов Stub и Skeleton из класса реализации с помощью rmic
Инструмент RMIC используется для вызова компилятора RMI, который создает объекты Stub и Skeleton. Его прототип - имя класса RMIC.
ШАГ 4: Запустите RMIregistry
Вам необходимо запустить службу реестра, введя в командной строке команду start RMIregistry
ШАГ 5: Создайте и запустите серверную прикладную программу
Следующим шагом является создание серверной прикладной программы и выполнение ее в отдельной командной строке.
Java-сканер получить следующий символ
Серверная программа использует createRegistry метод класса LocateRegistry для создания rmiregistry в серверной JVM с номером порта, переданным в качестве аргумента.
Метод rebind класса Naming используется для привязки удаленного объекта к новому имени.
// программа для серверного приложения import java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// Создаем объект класса реализации интерфейса Search obj = new SearchQuery () // rmiregistry внутри JVM сервера с // номером порта 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Привязывает удаленный объект по имени // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (Exception ae) {System.out.println (ae)}}}
Шаг 6. Создайте и запустите клиентское приложение.
Последний шаг - создать программу клиентского приложения и запустить ее в отдельной командной строке. Метод поиска класса Naming используется для получения ссылки на объект Stub.
Вышеупомянутые клиентская и серверная программа выполняется на одном компьютере, и поэтому используется localhost. Чтобы получить доступ к удаленному объекту с другой машины, localhost необходимо заменить на IP-адрес, на котором находится удаленный объект.
Итак, это подводит нас к концу RMI в статья. Я надеюсь, что вы нашли его информативным и помогли вам понять основы.
Проверьте от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Мы здесь, чтобы помочь вам на каждом этапе вашего пути, чтобы стать помимо этого java-интервью, мы предлагаем учебную программу, предназначенную для студентов и профессионалов, которые хотят быть Ява Разработчик. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.
Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев к статье «RMI в Java». и мы свяжемся с вами как можно скорее.