Главная » Java, Web » Размещение компонентов EJB

0

При создании серверного компонента EJB автоматически создается файл ejb-jar.xml. Для последнего примера этот файл выглядит так, как показано ниже. Это файл описания размещения компонента EJB (листинг 5.18).

Листинг 5.18. Файл ejb-jar.xml

<?xml version="l.0"?>

<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://java.sun.com/j 2ee/dtds/ejb-jar_l_l.dtd">

<ejb-jar>

<description>

ejb-jar.xml file for session bean BobKotirovki

</description>

<enterprise-beans>

<session>

<description>

Session bean BobKotirovki

Framework automatically generated by

Blizzard, Desiderata Software’s Blazix EJB

Wizard

</description> <ejb-name> BobKotirovki </ejb-name> <home>

PaketKotirovki.BobKotirovkiHome </home> <remote> PaketKotirovki.BobKotirovki </remote> <ejb-class>

PaketKotirovki.BobKotirovkiBean

</ejb-class>

<session-type>

Stateful

</session-type> <t ransact ion-type> Container

</t ransact ion-type> </session> </enterprise-beans> </ejb-jar>

Корневым XML-элементом в файле размещения является элемент <ejb-jar>, в этот элемент вкладывается элемент <enterprise-beans>. В одном файле может быть описано несколько компонентов EJB. Элемент <enterprise-beans> в качестве своих дочерних элементов может содержать элементы <session> и <entity>, что соответствует компоненту EJB-сессии и сущности. Далее для каждого элемента <session> и <entity> указывается имя компонента EJB в элементе <ejb-bean>, а также имена классов с указанием пакета, соответствующих домашнему интерфейсу (в элементе <home>) и удаленному интерфейсу (в элементе <remote>). Элемент <ejb-ciass> содержит класс компонента EJB. Для компонента EJB-сессий задается элемент <session-type>, который содержит тип компонента EJB-сессии.

Описатель размещения для компонента EJB-сущности несколько отличается от описателя компонента EJB-сессии (листинг 5.19).

Листинг 5.19. Описатель компонента EJB-сущности

<?xml version="l.0"?>

<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://j ava.sun.com/j 2ee/dtds/ej b-jar_l_l.dtd">

<ejb-jar>

<description>

ejb-jar.xml file for entity bean NashBob2

Framework automatically generated by Blizzard,

Desiderata Software’s Blazix EJB Wizard

</description>

<enterprise-beans>

<entity>

<description> Entity bean NashBob2 </description> <ejb-name> NashBob2 </ejb-name> <home> NashPaket2.NashBob2Home

</home> <remote>

NashPaket2.NashBob2 </remote> <ejb-class>

NashPaket2.NashBob2Bean </ejb-class>

<persistence-type> Container

</persistence-type> <prim-key-class> j ava.lang.St ring </prim-key-class> <reentrant> True </reentrant> <cmp-field> <field-name> key

</field-name> </cmp-field> <cmp-field> <field-name> value

</field-name> </cmp-field>

<primkey-field> key

</primkey-field> </entity>

</enterprise-beans> </ejb-jar>

В описателе компонента EJB-сессии мы находим и другие элементы, которые являются дочерними по отношению к элементу <entity>. Элемент <persistence-type> в нашем случае указывает на то, что ответственность за постоянное существование компонента EJB возлагается на контейнер серверных компонентов EJB. В случаях, когда необходимо использовать методы еjbLoad и ejbstore, в этом элементе следует указать user.

Элемент <prim-key-ciass> задает тип первичного ключа. Здесь же содержатся элементы <cmp-f ieid> — эти поля создаются только для компонентов EJB, постоянное существование которых поддерживается контейнером. СМР — это аббревиатура для Container Managed Persistence. Здесь же есть элемент, описывающий первичный ключ. Детальное описание структуры файла описания размещения достаточно объемно, его можно найти в документации по EJB.

Источник: Будилов В. А. Интернет-программирование на Java. — СПб.: БХВ-Петербург, 2003. — 704 е.: ил.

По теме:

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