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 удаленный объект, который начинает выполняться, когда его удаленные методы вызываются и могут завершить работу себя когда необходимо.