Для клиента компонент-сущность выглядит как объект, методы которого позволяют легко получить деловые данные в любом нужном формате. Эти функциональные возможности обеспечивают определенные классы, интерфейсы, методы и поля для поддержки клиентских интерфейсов и жизненного цикла компонента-сущности.
Местный интерфейс
Каждый компонент-сущность должен иметь местный (Ноте) интерфейс. Это интерфейс, через который клиент вызывает базовые методы жизненного цикла EJB. На этапе выполнения контейнер EJB создает только одну копию этого интерфейса на каждый развернутый компонент-сущность. С помощью местного интерфейса можно создавать, находить и разрушать все экземпляры определенного EJB.
Местный интерфейс компонента-сущности поддерживает методы четырех разных типов: методы создания, поиска, удаления и местные методы. Последний из этих типов применяется только b J2EE 1.3.
Методы создания
Методы создания служат для создания экземпляра компонента-сущности. Интерфейс может содержать любое число таких методов, включая нуль. Метод создания всегда должен возвращать тип удаленного интерфейса компонента-сущности. Контейнер EJB также может создавать экземпляры компонента-сущности автоматически в ответ на события, происходящие в базе данных. Благодаря этому свойству можно формировать компоненты-сущности без методов создания.
Имя метода создания должно быть create<METOД>, где <МЕТОД> — любое имя или ничего, a create— префикс. Разрешается любое количество любых параметров.
Методы поиска
Методы поиска применяются для отыскания экземпляра компонента-сущности через местный интерфейс. По крайней мере один такой метод с сигнатурой findByPrimaryKey(primaryKey) обязательно должен присутствовать. Возвращаемый тип метода поиска — либо удаленный интерфейс компонента-сущности (его должен возвращать обязательный метод), либо коллекция удаленных интерфейсов нескольких экземпляров компонента.
Имя метода поиска должно быть <МЕТОД>, где <МЕТОД> — любое имя или ничего, a find— префикс. Разрешается любое количество любых параметров. Код метода поиска не создается разработчиком непосредственно, а генерируется автоматически на этапе развертывания при выполнении соответствующей команды EJB QL.
Методы удаления
Методы удаления применяются клиентами для уничтожения ссылок на компоненты-сущности. Необходимые методы удаления уже определены в базовых интерфейсах EJB, и заново определять их не нужно. Эти методы, естественно, носят имя remove.
Местные методы
Местные методы (home methods) задают логику приложения, не относящуюся к какому-то определенному экземпляру компонента cущности. Впервые местные методы появились в J2EE 1.3.
Для местных методов можно использовать любые имена, конечно, кроме тех, что начинаются с create, findили remove. Эти методы можно считать разновидностью статических методов для компонентов-сущностей. Они имеют двойное назначение: обслуживать статические данные, которые нужны всем экземплярам компонента, и уменьшать потребность в ресурсах для деловых методов, которые, как статические по своему характеру, целесообразнее выполнять в единственной копии, чем создавать такую копию в каждом экземпляре компонента.
На рис. 13.9 показан пример местного интерфейса компонента-сущности.
package com.homedirect.еjb.account;
import Java.rmi.RemoteException;
import javax.ejb.*;
import java.util.Collection;
public interface AccountHome extends javax.ejb.EJBHome
{
public Account create(String accountid,
String accounttype,
float balance,
nt customerid,
float limit,
float userfee)
throws java.rmi.RemoteException,
javax.ejb.CreateException;
public Account findByPrimaryKey(java.lang.String primaryKey)
throws java.rmi.RemoteException,
javax.ejb.FinderException;
public Collection findAccounts(int customerid)
throws java.rmi.RemoteException,
javax.ejb.FinderException;
}
Рис. 13.9. Местный интерфейс компонента-сущности
Удаленный интерфейс
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.