|
Spec-Zone .ru
спецификации, руководства, описания, API
|
| СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT | Java Удаленный Вызов метода |

java.rmi.Remote Интерфейсjava.rmi.Remote.java.rmi.RemoteException (или один из его суперклассов такой как java.io.IOException или java.lang.Exception) в его пункте бросков, в дополнение к любым специализированным исключениям (отмечают, что специализированные исключения не должны расшириться java.rmi.RemoteException).java.rmi.Remote интерфейс маркера, который не определяет методов:
public interface Remote {}
Удаленный интерфейс должен, по крайней мере, расширить интерфейс java.rmi.Remote (или другой удаленный интерфейс, который расширяется java.rmi.Remote). Однако, удаленный интерфейс может расширить неудаленный интерфейс при следующем условии: BankAccount определяет удаленный интерфейс для того, чтобы получить доступ к банковскому счету. Это содержит удаленные методы, чтобы внести к учетной записи, получить баланс счета, и уйти из учетной записи:
public interface BankAccount extends java.rmi.Remote {
public void deposit(float amount)
throws java.rmi.RemoteException;
public void withdraw(float amount)
throws OverdrawnException, java.rmi.RemoteException;
public float getBalance()
throws java.rmi.RemoteException;
}
Следующий пример показывает допустимый удаленный интерфейс Beta это расширяет неудаленный интерфейс Alpha, у которого есть удаленные методы, и интерфейс java.rmi.Remote:
public interface Alpha {
public final String okay = "constants are okay too";
public Object foo(Object obj)
throws java.rmi.RemoteException;
public void bar() throws java.io.IOException;
public int baz() throws java.lang.Exception;
}
public interface Beta extends Alpha, java.rmi.Remote {
public void ping() throws java.rmi.RemoteException;
}
RemoteException Классjava.rmi.RemoteException class является суперклассом исключений, выданных временем выполнения RMI во время удаленного вызова метода. Чтобы гарантировать устойчивость приложений, используя систему RMI, каждый удаленный метод, объявленный в удаленном интерфейсе, должен определить java.rmi.RemoteException (или один из его суперклассов такой как java.io.IOException или java.lang.Exception) в его пункте бросков. Исключение java.rmi.RemoteException бросается, когда удаленный вызов метода перестал работать по некоторым причинам. Некоторые причины удаленного отказа вызова метода включают:
RemoteException проверенное исключение (тот, который должен быть обработан вызывающей стороной удаленного метода и проверяется компилятором), не a RuntimeException. RemoteObject Класс и его Подклассыjava.rmi.server.RemoteObject и его подклассы, java.rmi.server.RemoteServer и java.rmi.server.UnicastRemoteObject и java.rmi.activation.Activatable. java.rmi.server.RemoteObject обеспечивает реализации для java.lang.Object методы, hashCode, equals, и toString это разумно для удаленных объектов.UnicastRemoteObject и Activatable. Подкласс идентифицирует семантику удаленной ссылки, например является ли сервер простым удаленным объектом или является activatable удаленным объектом (тот, который выполняется когда вызвано).java.rmi.server.UnicastRemoteObject class определяет одиночный элемент (одноадресная передача) удаленный объект, ссылки которого допустимы только, в то время как серверный процесс жив.java.rmi.activation.Activatable абстрактный class, который определяет activatable удаленный объект, который начинает выполняться, когда его удаленные методы вызываются и могут завершить работу себя когда необходимо.