Лабораторная работа: Удаленный вызов методом RMI
throws j ava.rmi. RemoteException;
public long mul (long a, long b)
throws j ava.rmi. RemoteException;
public long div (long a, long b)
throws j ava.rmi. RemoteException;
Скопируйте этот файл в ваш каталог и откомпилируйте его при помощи компилятора Java:
>javacCalculator.java
2. Реализация
Теперь вы пишете реализацию удаленной службы. Нижеприведенкласс CalculatorImpl:
public class CalculatorImpl extends
java.rmi.server. UnicastRemoteObj ect implements Calculator {
// явный конструктор для
// того, чтобы объявить
// исключительную ситуацию RemoteException
public CalculatorImpl()
throws java.rmi. RemoteException {
super ();
public long add (long a, long b)
throws java.rmi. RemoteException {return a + b;
public long sub (long a, long b)
throws java.rmi. RemoteException {return a – b;
public long mul (long a, long b)
throws java.rmi. RemoteException {return a * b;
public long div (long a, long b)
throws java.rmi. RemoteException {
return a / b;
}
И опять, скопируйте этот код в ваш каталог и откомпилируйте его.
Класс реализации использует UnicastRemoteOb j ect для присоединения к системе RMI. В данном примере класс реализации непосредственно расширяет UnicastRemoteObject. Это не является обязательным требованием. Класс, не расширяющий UnicastRemoteObject, может использовать свой метод exportObject () для присоединения к RMI.