Главная » Java, JavaBeans » Базовый класс EJBHome

0

Каждый home-интерфейс наследует интерфейс j avax. ejb. EJBHome. Пример Кода 4.3 показывает определение этого интерфейса:

Пример кода 4.3 Определение интерфейса EJBHome

package javax.ejb;

public interface EJBHome extends java.rmi.Remote {

void remove(Handle handle) throws java.rmi.RemoteException, RemoveException;

void remove(Object primaryKey) throws java.rmi.RemoteException,

RemoveException; EJBMetaData getEJBMetaData() throws RemoteException; HomeHandle getHomeHandle() throws RemoteException;

}

Предусмотрены два варианта метода удаления экземпляра Компонента remove (). Первый из них удаляет экземпляр Компонента по его идентификатору (handle), второй – по значению primary key Компонента.

Handle Компонента представляет собой его уникальный идентификатор; для него может быть выполнена операция сериализации Java. Времена существования handle и сопоставленного с ним объекта совпадают. При работе с Entity-Компонентами, клиент может сохранять (с помощью Java-сериализации) значение этого идентификатора с последующим восстановлением в нужный момент. Этот идентификатор может корректно ссылаться даже на различные экземпляры Компонента; он остается корректным даже после сбоя на сервере с последующим перезапуском, а также в случае "перемещения" объектов на другие Сервера или компьютеры. Он очень похож на преобразованную к строковому виду объектную ссылку CORBA.

Второй вариант remove () для определения подлежащего удалению экземпляра Компонента использует значение его primary key. Его типом может быть любой тип Java, который наследует класс Object и реализует интерфейс Serializable. Primary key – главное средство для идентификации Entity-Компонентов. Как правило, он совпадает с первичным ключом в таблице базы данных, используемом для уникальной идентификации записи, объектным представлением которой является данный Компонент.

Метод getEJBMetaData () возвращает metadata-интерфейс для Компонента EJB. Этот интерфейс предоставляет клиенту возможность получить информацию о структуре Компонента (его метаданные). Обычно его используют инструментальные программные средства, создающие приложения из поставленных Компонентов EJB. Интерфейс javax.ejv.EJBMetaData объявляет методы для получения ссылки на интерфейс javax.ejb.EJBHome, типов (классов) home- и remote- интерфейсов, а также типа primary key. Он также содержит метод isSession() для определения того, является ли Компонент Session- или Entity-Компонентом. Метод isStatelessSession () позволяет определить, имеет ли Session-Компонент состояние (т.е. является ли он stateless- Компонентом или нет). Пример Кода 4.4 показывает, что собой представляет интерфейс javax.ejv.EJBMetaData.

Пример Кода 4.4 Интерфейс javax.ejb.EJBMetaData

package javax.ejb;

public interface EJBMetaData { EJBHome getEJBHome(); Class getHomelnterfaceClass(); Class getRemotelnterfaceClass(); Class getPrimaryKeyClass(); boolean isSession(); boolean isStatelessSession();

}

Источник: Руководство программиста Enterprise JavaBeans

По теме:

  • Комментарии