|
| 1 | + |
| 2 | +//He that overcometh shall inherit all things; and I will be his God, and he shall be my son. (Revelation 21:7) |
| 3 | + |
| 4 | +package com.javarush.task.task32.task3208; |
| 5 | + |
| 6 | +import java.rmi.RemoteException; |
| 7 | + |
| 8 | +public class Cat implements Animal { |
| 9 | + |
| 10 | + private String name; |
| 11 | + |
| 12 | + public Cat(String name) { |
| 13 | + this.name = name; |
| 14 | + } |
| 15 | + |
| 16 | + @Override |
| 17 | + public void say() throws RemoteException { |
| 18 | + System.out.println("meow"); |
| 19 | + } |
| 20 | + |
| 21 | + @Override |
| 22 | + public void printName() throws RemoteException { |
| 23 | + System.out.print("Cat " + name + " "); |
| 24 | + } |
| 25 | +} |
| 26 | + |
| 27 | +/* |
| 28 | +RMI-2 |
| 29 | +
|
| 30 | +Реализуй логику метода run в SERVER_THREAD. В нем будет имитироваться серверная часть: |
| 31 | +
|
| 32 | +1) Инициализируй поле registry, которое будет принимать и обрабатывать запросы на 2099 порту. |
| 33 | +
|
| 34 | +2) Создай два объекта - Cat и Dog. |
| 35 | +
|
| 36 | +3) Используй класс UnicastRemoteObject, чтобы создать Remote объекты для созданных Cat и Dog. |
| 37 | +
|
| 38 | +Remote объекты будут в состоянии принимать обращения к своим методам используя выбранный порт (2099). |
| 39 | +
|
| 40 | +4) Для Cat и Dog добавь в registry связь уникального текстового ключа и Remote объекта. Текстовый ключ придумай сам. |
| 41 | +
|
| 42 | +5) При возникновении любого исключения выведи его стек-трейс в поток System.err. |
| 43 | +
|
| 44 | +Метод main не участвует в тестировании. |
| 45 | +
|
| 46 | +
|
| 47 | +
|
| 48 | +
|
| 49 | +
|
| 50 | +Требования: |
| 51 | +
|
| 52 | +1. В методе run() необходимо инициализировать поле registry. Для этого используй LocateRegistry.createRegistry (2099). |
| 53 | +
|
| 54 | +2. В методе run() необходимо создать два объекта - Cat и Dog. |
| 55 | +
|
| 56 | +3. В методе run() необходимо создать Remote объекты для созданных Cat и Dog используя UnicastRemoteObject.exportObject (Remote, int). |
| 57 | +
|
| 58 | +4. Для Cat и Dog нужно добавить в registry связь уникального текстового ключа и Remote объекта используя registry.bind (String, Remote). |
| 59 | +
|
| 60 | +5. При возникновении любого исключения нужно вывести его стек-трейс в поток System.err используя метод printStackTrace (). |
| 61 | +*/ |
0 commit comments