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


2.4 Краткий обзор Интерфейсов RMI и Классов

Интерфейсы и классы, которые ответственны за определение удаленного поведения системы RMI, определяются в java.rmi иерархии пакета. Следующие данные показывают отношение между несколькими из этих интерфейсов и классов:
отношение между несколькими из этих интерфейсов и классов

2.4.1 java.rmi.Remote Интерфейс

В RMI удаленный интерфейс является интерфейсом, который объявляет ряд методов, которые могут быть вызваны от удаленной виртуальной машины Java. Удаленный интерфейс должен удовлетворить следующие требования: Интерфейс 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;
}


2.4.2 RemoteException Класс

java.rmi.RemoteException class является суперклассом исключений, выданных временем выполнения RMI во время удаленного вызова метода. Чтобы гарантировать устойчивость приложений, используя систему RMI, каждый удаленный метод, объявленный в удаленном интерфейсе, должен определить java.rmi.RemoteException (или один из его суперклассов такой как java.io.IOException или java.lang.Exception) в его пункте бросков.

Исключение java.rmi.RemoteException бросается, когда удаленный вызов метода перестал работать по некоторым причинам. Некоторые причины удаленного отказа вызова метода включают:

class RemoteException проверенное исключение (тот, который должен быть обработан вызывающей стороной удаленного метода и проверяется компилятором), не a RuntimeException.


2.4.3 RemoteObject Класс и его Подклассы

Функциями сервера RMI обеспечивают java.rmi.server.RemoteObject и его подклассы, java.rmi.server.RemoteServer и java.rmi.server.UnicastRemoteObject и java.rmi.activation.Activatable.

СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT
Copyright 1997, 2010, Oracle и/или его филиалы. Все права защищены.