2706 lines
86 KiB
XML
2706 lines
86 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
|
|
targetNamespace="http://java.sun.com/xml/ns/javaee"
|
|
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
|
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
elementFormDefault="qualified"
|
|
attributeFormDefault="unqualified"
|
|
version="3.0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
@(#)ejb-jar_3_0.xsds 1.51 02/23/06
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Copyright 2003-2006 Sun Microsystems, Inc.
|
|
4150 Network Circle
|
|
Santa Clara, California 95054
|
|
U.S.A
|
|
All rights reserved.
|
|
|
|
Sun Microsystems, Inc. has intellectual property rights
|
|
relating to technology described in this document. In
|
|
particular, and without limitation, these intellectual
|
|
property rights may include one or more of the U.S. patents
|
|
listed at http://www.sun.com/patents and one or more
|
|
additional patents or pending patent applications in the
|
|
U.S. and other countries.
|
|
|
|
This document and the technology which it describes are
|
|
distributed under licenses restricting their use, copying,
|
|
distribution, and decompilation. No part of this document
|
|
may be reproduced in any form by any means without prior
|
|
written authorization of Sun and its licensors, if any.
|
|
|
|
Third-party software, including font technology, is
|
|
copyrighted and licensed from Sun suppliers.
|
|
|
|
Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
|
|
JavaServer Pages, Enterprise JavaBeans and the Java Coffee
|
|
Cup logo are trademarks or registered trademarks of Sun
|
|
Microsystems, Inc. in the U.S. and other countries.
|
|
|
|
Federal Acquisitions: Commercial Software - Government Users
|
|
Subject to Standard License Terms and Conditions.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
<![CDATA[
|
|
|
|
This is the XML Schema for the EJB 3.0 deployment descriptor.
|
|
The deployment descriptor must be named "META-INF/ejb-jar.xml" in
|
|
the EJB's jar file. All EJB deployment descriptors must indicate
|
|
the ejb-jar schema by using the Java EE namespace:
|
|
|
|
http://java.sun.com/xml/ns/javaee
|
|
|
|
and by indicating the version of the schema by
|
|
using the version element as shown below:
|
|
|
|
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
|
|
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
|
|
version="3.0">
|
|
...
|
|
</ejb-jar>
|
|
|
|
The instance documents may indicate the published version of
|
|
the schema using the xsi:schemaLocation attribute for the
|
|
Java EE namespace with the following location:
|
|
|
|
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
|
|
|
|
]]>
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The following conventions apply to all Java EE
|
|
deployment descriptor elements unless indicated otherwise.
|
|
|
|
- In elements that specify a pathname to a file within the
|
|
same JAR file, relative filenames (i.e., those not
|
|
starting with "/") are considered relative to the root of
|
|
the JAR file's namespace. Absolute filenames (i.e., those
|
|
starting with "/") also specify names in the root of the
|
|
JAR file's namespace. In general, relative names are
|
|
preferred. The exception is .war files where absolute
|
|
names are preferred for consistency with the Servlet API.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:include schemaLocation="javaee_5.xsd"/>
|
|
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:element name="ejb-jar" type="javaee:ejb-jarType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
This is the root of the ejb-jar deployment descriptor.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:key name="ejb-name-key">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-name element contains the name of an enterprise
|
|
bean. The name must be unique within the ejb-jar file.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:enterprise-beans/*"/>
|
|
<xsd:field xpath="javaee:ejb-name"/>
|
|
</xsd:key>
|
|
|
|
<xsd:keyref name="ejb-name-references"
|
|
refer="javaee:ejb-name-key">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The keyref indicates the references from
|
|
relationship-role-source must be to a specific ejb-name
|
|
defined within the scope of enterprise-beans element.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector
|
|
xpath=".//javaee:ejb-relationship-role/javaee:relationship-role-source"/>
|
|
<xsd:field
|
|
xpath="javaee:ejb-name"/>
|
|
</xsd:keyref>
|
|
|
|
<xsd:key name="role-name-key">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
A role-name-key is specified to allow the references
|
|
from the security-role-refs.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:assembly-descriptor/javaee:security-role"/>
|
|
<xsd:field xpath="javaee:role-name"/>
|
|
</xsd:key>
|
|
|
|
<xsd:keyref name="role-name-references"
|
|
refer="javaee:role-name-key">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The keyref indicates the references from
|
|
security-role-ref to a specified role-name.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:enterprise-beans/*/javaee:security-role-ref"/>
|
|
<xsd:field xpath="javaee:role-link"/>
|
|
</xsd:keyref>
|
|
</xsd:element>
|
|
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="activation-config-propertyType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The activation-config-propertyType contains a name/value
|
|
configuration property pair for a message-driven bean.
|
|
|
|
The properties that are recognized for a particular
|
|
message-driven bean are determined by the messaging type.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="activation-config-property-name"
|
|
type="javaee:xsdStringType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The activation-config-property-name element contains
|
|
the name for an activation configuration property of
|
|
a message-driven bean.
|
|
|
|
For JMS message-driven beans, the following property
|
|
names are recognized: acknowledgeMode,
|
|
messageSelector, destinationType, subscriptionDurability
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="activation-config-property-value"
|
|
type="javaee:xsdStringType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The activation-config-property-value element
|
|
contains the value for an activation configuration
|
|
property of a message-driven bean.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="activation-configType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The activation-configType defines information about the
|
|
expected configuration properties of the message-driven bean
|
|
in its operational environment. This may include information
|
|
about message acknowledgement, message selector, expected
|
|
destination type, etc.
|
|
|
|
The configuration information is expressed in terms of
|
|
name/value configuration properties.
|
|
|
|
The properties that are recognized for a particular
|
|
message-driven bean are determined by the messaging type.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="activation-config-property"
|
|
type="javaee:activation-config-propertyType"
|
|
maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="application-exceptionType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The application-exceptionType declares an application
|
|
exception. The declaration consists of:
|
|
|
|
- the exception class. When the container receives
|
|
an exception of this type, it is required to
|
|
forward this exception as an applcation exception
|
|
to the client regardless of whether it is a checked
|
|
or unchecked exception.
|
|
- an optional rollback element. If this element is
|
|
set to true, the container must rollback the current
|
|
transaction before forwarding the exception to the
|
|
client. If not specified, it defaults to false.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="exception-class"
|
|
type="javaee:fully-qualified-classType"/>
|
|
<xsd:element name="rollback"
|
|
type="javaee:true-falseType"
|
|
minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="around-invokeType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The around-invoke type specifies a method on a
|
|
class to be called during the around invoke portion of an
|
|
ejb invocation. Note that each class may have only one
|
|
around invoke method and that the method may not be
|
|
overloaded.
|
|
|
|
If the class element is missing then
|
|
the class defining the callback is assumed to be the
|
|
interceptor class or component class in scope at the
|
|
location in the descriptor in which the around invoke
|
|
definition appears.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="class"
|
|
type="javaee:fully-qualified-classType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="method-name"
|
|
type="javaee:java-identifierType"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="assembly-descriptorType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The assembly-descriptorType defines
|
|
application-assembly information.
|
|
|
|
The application-assembly information consists of the
|
|
following parts: the definition of security roles, the
|
|
definition of method permissions, the definition of
|
|
transaction attributes for enterprise beans with
|
|
container-managed transaction demarcation, the definition
|
|
of interceptor bindings, a list of
|
|
methods to be excluded from being invoked, and a list of
|
|
exception types that should be treated as application exceptions.
|
|
|
|
All the parts are optional in the sense that they are
|
|
omitted if the lists represented by them are empty.
|
|
|
|
Providing an assembly-descriptor in the deployment
|
|
descriptor is optional for the ejb-jar file producer.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="security-role"
|
|
type="javaee:security-roleType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="method-permission"
|
|
type="javaee:method-permissionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="container-transaction"
|
|
type="javaee:container-transactionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="interceptor-binding"
|
|
type="javaee:interceptor-bindingType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="message-destination"
|
|
type="javaee:message-destinationType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="exclude-list"
|
|
type="javaee:exclude-listType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="application-exception"
|
|
type="javaee:application-exceptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="cmp-fieldType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The cmp-fieldType describes a container-managed field. The
|
|
cmp-fieldType contains an optional description of the field,
|
|
and the name of the field.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="field-name"
|
|
type="javaee:java-identifierType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The field-name element specifies the name of a
|
|
container managed field.
|
|
|
|
The name of the cmp-field of an entity bean with
|
|
cmp-version 2.x must begin with a lowercase
|
|
letter. This field is accessed by methods whose
|
|
names consists of the name of the field specified by
|
|
field-name in which the first letter is uppercased,
|
|
prefixed by "get" or "set".
|
|
|
|
The name of the cmp-field of an entity bean with
|
|
cmp-version 1.x must denote a public field of the
|
|
enterprise bean class or one of its superclasses.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="cmp-versionType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The cmp-versionType specifies the version of an entity bean
|
|
with container-managed persistence. It is used by
|
|
cmp-version elements.
|
|
|
|
The value must be one of the two following:
|
|
|
|
1.x
|
|
2.x
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="1.x"/>
|
|
<xsd:enumeration value="2.x"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="cmr-field-typeType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The cmr-field-type element specifies the class of a
|
|
collection-valued logical relationship field in the entity
|
|
bean class. The value of an element using cmr-field-typeType
|
|
must be either: java.util.Collection or java.util.Set.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="java.util.Collection"/>
|
|
<xsd:enumeration value="java.util.Set"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="cmr-fieldType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The cmr-fieldType describes the bean provider's view of
|
|
a relationship. It consists of an optional description, and
|
|
the name and the class type of a field in the source of a
|
|
role of a relationship. The cmr-field-name element
|
|
corresponds to the name used for the get and set accessor
|
|
methods for the relationship. The cmr-field-type element is
|
|
used only for collection-valued cmr-fields. It specifies the
|
|
type of the collection that is used.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="cmr-field-name"
|
|
type="javaee:string">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The cmr-field-name element specifies the name of a
|
|
logical relationship field in the entity bean
|
|
class. The name of the cmr-field must begin with a
|
|
lowercase letter. This field is accessed by methods
|
|
whose names consist of the name of the field
|
|
specified by cmr-field-name in which the first
|
|
letter is uppercased, prefixed by "get" or "set".
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="cmr-field-type"
|
|
type="javaee:cmr-field-typeType"
|
|
minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="container-transactionType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The container-transactionType specifies how the container
|
|
must manage transaction scopes for the enterprise bean's
|
|
method invocations. It defines an optional description, a
|
|
list of method elements, and a transaction attribute. The
|
|
transaction attribute is to be applied to all the specified
|
|
methods.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="method"
|
|
type="javaee:methodType"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="trans-attribute"
|
|
type="javaee:trans-attributeType"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="ejb-classType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
<![CDATA[
|
|
|
|
The ejb-classType contains the fully-qualified name of the
|
|
enterprise bean's class. It is used by ejb-class elements.
|
|
|
|
Example:
|
|
|
|
<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
|
|
|
|
]]>
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:fully-qualified-classType"/>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="ejb-jarType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-jarType defines the root element of the EJB
|
|
deployment descriptor. It contains
|
|
|
|
- an optional description of the ejb-jar file
|
|
- an optional display name
|
|
- an optional icon that contains a small and a large
|
|
icon file name
|
|
- structural information about all included
|
|
enterprise beans that is not specified through
|
|
annotations
|
|
- structural information about interceptor classes
|
|
- a descriptor for container managed relationships,
|
|
if any.
|
|
- an optional application-assembly descriptor
|
|
- an optional name of an ejb-client-jar file for the
|
|
ejb-jar.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:group ref="javaee:descriptionGroup"/>
|
|
<xsd:element name="enterprise-beans"
|
|
type="javaee:enterprise-beansType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="interceptors"
|
|
type="javaee:interceptorsType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="relationships"
|
|
type="javaee:relationshipsType"
|
|
minOccurs="0">
|
|
<xsd:unique name="relationship-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-relation-name contains the name of a
|
|
relation. The name must be unique within
|
|
relationships.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:ejb-relation"/>
|
|
<xsd:field xpath="javaee:ejb-relation-name"/>
|
|
</xsd:unique>
|
|
</xsd:element>
|
|
<xsd:element name="assembly-descriptor"
|
|
type="javaee:assembly-descriptorType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Providing an assembly-descriptor in the deployment
|
|
descriptor is optional for the ejb-jar file
|
|
producer.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="ejb-client-jar"
|
|
type="javaee:pathType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
<![CDATA[
|
|
|
|
The optional ejb-client-jar element specifies a JAR
|
|
file that contains the class files necessary for a
|
|
client program to access the
|
|
enterprise beans in the ejb-jar file.
|
|
|
|
Example:
|
|
|
|
<ejb-client-jar>employee_service_client.jar
|
|
</ejb-client-jar>
|
|
|
|
]]>
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="version"
|
|
type="javaee:dewey-versionType"
|
|
fixed="3.0"
|
|
use="required">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The version specifies the version of the
|
|
EJB specification that the instance document must
|
|
comply with. This information enables deployment tools
|
|
to validate a particular EJB Deployment
|
|
Descriptor with respect to a specific version of the EJB
|
|
schema.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:attribute>
|
|
<xsd:attribute name="metadata-complete" type="xsd:boolean">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The metadata-complete attribute defines whether this
|
|
deployment descriptor and other related deployment
|
|
descriptors for this module (e.g., web service
|
|
descriptors) are complete, or whether the class
|
|
files available to this module and packaged with
|
|
this application should be examined for annotations
|
|
that specify deployment information.
|
|
|
|
If metadata-complete is set to "true", the deployment
|
|
tool must ignore any annotations that specify deployment
|
|
information, which might be present in the class files
|
|
of the application.
|
|
|
|
If metadata-complete is not specified or is set to
|
|
"false", the deployment tool must examine the class
|
|
files of the application for annotations, as
|
|
specified by the specifications.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
</xsd:attribute>
|
|
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="ejb-nameType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
<![CDATA[
|
|
|
|
The ejb-nameType specifies an enterprise bean's name. It is
|
|
used by ejb-name elements. This name is assigned by the
|
|
ejb-jar file producer to name the enterprise bean in the
|
|
ejb-jar file's deployment descriptor. The name must be
|
|
unique among the names of the enterprise beans in the same
|
|
ejb-jar file.
|
|
|
|
There is no architected relationship between the used
|
|
ejb-name in the deployment descriptor and the JNDI name that
|
|
the Deployer will assign to the enterprise bean's home.
|
|
|
|
The name for an entity bean must conform to the lexical
|
|
rules for an NMTOKEN.
|
|
|
|
Example:
|
|
|
|
<ejb-name>EmployeeService</ejb-name>
|
|
|
|
]]>
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:xsdNMTOKENType"/>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="ejb-relationType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-relationType describes a relationship between two
|
|
entity beans with container-managed persistence. It is used
|
|
by ejb-relation elements. It contains a description; an
|
|
optional ejb-relation-name element; and exactly two
|
|
relationship role declarations, defined by the
|
|
ejb-relationship-role elements. The name of the
|
|
relationship, if specified, is unique within the ejb-jar
|
|
file.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="ejb-relation-name"
|
|
type="javaee:string"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-relation-name element provides a unique name
|
|
within the ejb-jar file for a relationship.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="ejb-relationship-role"
|
|
type="javaee:ejb-relationship-roleType"/>
|
|
<xsd:element name="ejb-relationship-role"
|
|
type="javaee:ejb-relationship-roleType"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="ejb-relationship-roleType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
<![CDATA[
|
|
|
|
The ejb-relationship-roleType describes a role within a
|
|
relationship. There are two roles in each relationship.
|
|
|
|
The ejb-relationship-roleType contains an optional
|
|
description; an optional name for the relationship role; a
|
|
specification of the multiplicity of the role; an optional
|
|
specification of cascade-delete functionality for the role;
|
|
the role source; and a declaration of the cmr-field, if any,
|
|
by means of which the other side of the relationship is
|
|
accessed from the perspective of the role source.
|
|
|
|
The multiplicity and role-source element are mandatory.
|
|
|
|
The relationship-role-source element designates an entity
|
|
bean by means of an ejb-name element. For bidirectional
|
|
relationships, both roles of a relationship must declare a
|
|
relationship-role-source element that specifies a cmr-field
|
|
in terms of which the relationship is accessed. The lack of
|
|
a cmr-field element in an ejb-relationship-role specifies
|
|
that the relationship is unidirectional in navigability and
|
|
the entity bean that participates in the relationship is
|
|
"not aware" of the relationship.
|
|
|
|
Example:
|
|
|
|
<ejb-relation>
|
|
<ejb-relation-name>Product-LineItem</ejb-relation-name>
|
|
<ejb-relationship-role>
|
|
<ejb-relationship-role-name>product-has-lineitems
|
|
</ejb-relationship-role-name>
|
|
<multiplicity>One</multiplicity>
|
|
<relationship-role-source>
|
|
<ejb-name>ProductEJB</ejb-name>
|
|
</relationship-role-source>
|
|
</ejb-relationship-role>
|
|
</ejb-relation>
|
|
|
|
]]>
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="ejb-relationship-role-name"
|
|
type="javaee:string"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-relationship-role-name element defines a
|
|
name for a role that is unique within an
|
|
ejb-relation. Different relationships can use the
|
|
same name for a role.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="multiplicity"
|
|
type="javaee:multiplicityType"/>
|
|
<xsd:element name="cascade-delete"
|
|
type="javaee:emptyType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The cascade-delete element specifies that, within a
|
|
particular relationship, the lifetime of one or more
|
|
entity beans is dependent upon the lifetime of
|
|
another entity bean. The cascade-delete element can
|
|
only be specified for an ejb-relationship-role
|
|
element contained in an ejb-relation element in
|
|
which the other ejb-relationship-role
|
|
element specifies a multiplicity of One.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="relationship-role-source"
|
|
type="javaee:relationship-role-sourceType"/>
|
|
<xsd:element name="cmr-field"
|
|
type="javaee:cmr-fieldType"
|
|
minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="enterprise-beansType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The enterprise-beansType declares one or more enterprise
|
|
beans. Each bean can be a session, entity or message-driven
|
|
bean.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:choice maxOccurs="unbounded">
|
|
<xsd:element name="session"
|
|
type="javaee:session-beanType">
|
|
<xsd:unique name="session-ejb-local-ref-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-ref-name element contains the name of
|
|
an EJB reference. The EJB reference is an entry in
|
|
the component's environment and is relative to the
|
|
java:comp/env context. The name must be unique within
|
|
the component.
|
|
|
|
It is recommended that name be prefixed with "ejb/".
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:ejb-local-ref"/>
|
|
<xsd:field xpath="javaee:ejb-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="session-ejb-ref-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-ref-name element contains the name of an EJB
|
|
reference. The EJB reference is an entry in the
|
|
component's environment and is relative to the
|
|
java:comp/env context. The name must be unique
|
|
within the component.
|
|
|
|
It is recommended that name is prefixed with "ejb/".
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:ejb-ref"/>
|
|
<xsd:field xpath="javaee:ejb-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="session-resource-env-ref-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The resource-env-ref-name element specifies the name
|
|
of a resource environment reference; its value is
|
|
the environment entry name used in the component
|
|
code. The name is a JNDI name relative to the
|
|
java:comp/env context and must be unique within an
|
|
component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:resource-env-ref"/>
|
|
<xsd:field xpath="javaee:resource-env-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="session-message-destination-ref-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The message-destination-ref-name element specifies the name
|
|
of a message destination reference; its value is
|
|
the message destination reference name used in the component
|
|
code. The name is a JNDI name relative to the
|
|
java:comp/env context and must be unique within an
|
|
component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:message-destination-ref"/>
|
|
<xsd:field xpath="javaee:message-destination-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="session-res-ref-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The res-ref-name element specifies the name of a
|
|
resource manager connection factory reference. The name
|
|
is a JNDI name relative to the java:comp/env context.
|
|
The name must be unique within an component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:resource-ref"/>
|
|
<xsd:field xpath="javaee:res-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="session-env-entry-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The env-entry-name element contains the name of a
|
|
component's environment entry. The name is a JNDI
|
|
name relative to the java:comp/env context. The
|
|
name must be unique within an component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:env-entry"/>
|
|
<xsd:field xpath="javaee:env-entry-name"/>
|
|
</xsd:unique>
|
|
</xsd:element>
|
|
|
|
<xsd:element name="entity"
|
|
type="javaee:entity-beanType">
|
|
<xsd:unique name="entity-ejb-local-ref-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-ref-name element contains the name of
|
|
an EJB reference. The EJB reference is an entry in
|
|
the component's environment and is relative to the
|
|
java:comp/env context. The name must be unique within
|
|
the component.
|
|
|
|
It is recommended that name be prefixed with "ejb/".
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:ejb-local-ref"/>
|
|
<xsd:field xpath="javaee:ejb-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="entity-ejb-ref-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-ref-name element contains the name of an EJB
|
|
reference. The EJB reference is an entry in the
|
|
component's environment and is relative to the
|
|
java:comp/env context. The name must be unique
|
|
within the component.
|
|
|
|
It is recommended that name is prefixed with "ejb/".
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:ejb-ref"/>
|
|
<xsd:field xpath="javaee:ejb-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="entity-resource-env-ref-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The resource-env-ref-name element specifies the name
|
|
of a resource environment reference; its value is
|
|
the environment entry name used in the component
|
|
code. The name is a JNDI name relative to the
|
|
java:comp/env context and must be unique within an
|
|
component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:resource-env-ref"/>
|
|
<xsd:field xpath="javaee:resource-env-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="entity-message-destination-ref-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The message-destination-ref-name element specifies the name
|
|
of a message destination reference; its value is
|
|
the message destination reference name used in the component
|
|
code. The name is a JNDI name relative to the
|
|
java:comp/env context and must be unique within an
|
|
component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:message-destination-ref"/>
|
|
<xsd:field xpath="javaee:message-destination-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="entity-res-ref-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The res-ref-name element specifies the name of a
|
|
resource manager connection factory reference. The name
|
|
is a JNDI name relative to the java:comp/env context.
|
|
The name must be unique within an component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:resource-ref"/>
|
|
<xsd:field xpath="javaee:res-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="entity-env-entry-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The env-entry-name element contains the name of a
|
|
component's environment entry. The name is a JNDI
|
|
name relative to the java:comp/env context. The
|
|
name must be unique within an component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:env-entry"/>
|
|
<xsd:field xpath="javaee:env-entry-name"/>
|
|
</xsd:unique>
|
|
</xsd:element>
|
|
|
|
<xsd:element name="message-driven"
|
|
type="javaee:message-driven-beanType">
|
|
<xsd:unique name="messaged-ejb-local-ref-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-ref-name element contains the name of
|
|
an EJB reference. The EJB reference is an entry in
|
|
the component's environment and is relative to the
|
|
java:comp/env context. The name must be unique within
|
|
the component.
|
|
|
|
It is recommended that name be prefixed with "ejb/".
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:ejb-local-ref"/>
|
|
<xsd:field xpath="javaee:ejb-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="messaged-ejb-ref-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-ref-name element contains the name of an EJB
|
|
reference. The EJB reference is an entry in the
|
|
component's environment and is relative to the
|
|
java:comp/env context. The name must be unique
|
|
within the component.
|
|
|
|
It is recommended that name is prefixed with "ejb/".
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:ejb-ref"/>
|
|
<xsd:field xpath="javaee:ejb-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="messaged-resource-env-ref-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The resource-env-ref-name element specifies the name
|
|
of a resource environment reference; its value is
|
|
the environment entry name used in the component
|
|
code. The name is a JNDI name relative to the
|
|
java:comp/env context and must be unique within an
|
|
component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:resource-env-ref"/>
|
|
<xsd:field xpath="javaee:resource-env-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="messaged-message-destination-ref-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The message-destination-ref-name element specifies the name
|
|
of a message destination reference; its value is
|
|
the message destination reference name used in the component
|
|
code. The name is a JNDI name relative to the
|
|
java:comp/env context and must be unique within an
|
|
component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:message-destination-ref"/>
|
|
<xsd:field xpath="javaee:message-destination-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="messaged-res-ref-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The res-ref-name element specifies the name of a
|
|
resource manager connection factory reference. The name
|
|
is a JNDI name relative to the java:comp/env context.
|
|
The name must be unique within an component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:resource-ref"/>
|
|
<xsd:field xpath="javaee:res-ref-name"/>
|
|
</xsd:unique>
|
|
|
|
<xsd:unique name="messaged-env-entry-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The env-entry-name element contains the name of a
|
|
component's environment entry. The name is a JNDI
|
|
name relative to the java:comp/env context. The
|
|
name must be unique within an component.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector xpath="javaee:env-entry"/>
|
|
<xsd:field xpath="javaee:env-entry-name"/>
|
|
</xsd:unique>
|
|
</xsd:element>
|
|
|
|
</xsd:choice>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="entity-beanType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The entity-beanType declares an entity bean. The declaration
|
|
consists of:
|
|
|
|
- an optional description
|
|
- an optional display name
|
|
- an optional icon element that contains a small and a large
|
|
icon file name
|
|
- a unique name assigned to the enterprise bean
|
|
in the deployment descriptor
|
|
- an optional mapped-name element that can be used to provide
|
|
vendor-specific deployment information such as the physical
|
|
jndi-name of the entity bean's remote home interface. This
|
|
element is not required to be supported by all implementations.
|
|
Any use of this element is non-portable.
|
|
- the names of the entity bean's remote home
|
|
and remote interfaces, if any
|
|
- the names of the entity bean's local home and local
|
|
interfaces, if any
|
|
- the entity bean's implementation class
|
|
- the optional entity bean's persistence management type. If
|
|
this element is not specified it is defaulted to Container.
|
|
- the entity bean's primary key class name
|
|
- an indication of the entity bean's reentrancy
|
|
- an optional specification of the
|
|
entity bean's cmp-version
|
|
- an optional specification of the entity bean's
|
|
abstract schema name
|
|
- an optional list of container-managed fields
|
|
- an optional specification of the primary key
|
|
field
|
|
- an optional declaration of the bean's environment
|
|
entries
|
|
- an optional declaration of the bean's EJB
|
|
references
|
|
- an optional declaration of the bean's local
|
|
EJB references
|
|
- an optional declaration of the bean's web
|
|
service references
|
|
- an optional declaration of the security role
|
|
references
|
|
- an optional declaration of the security identity
|
|
to be used for the execution of the bean's methods
|
|
- an optional declaration of the bean's
|
|
resource manager connection factory references
|
|
- an optional declaration of the bean's
|
|
resource environment references
|
|
- an optional declaration of the bean's message
|
|
destination references
|
|
- an optional set of query declarations
|
|
for finder and select methods for an entity
|
|
bean with cmp-version 2.x.
|
|
|
|
The optional abstract-schema-name element must be specified
|
|
for an entity bean with container-managed persistence and
|
|
cmp-version 2.x.
|
|
|
|
The optional primkey-field may be present in the descriptor
|
|
if the entity's persistence-type is Container.
|
|
|
|
The optional cmp-version element may be present in the
|
|
descriptor if the entity's persistence-type is Container. If
|
|
the persistence-type is Container and the cmp-version
|
|
element is not specified, its value defaults to 2.x.
|
|
|
|
The optional home and remote elements must be specified if
|
|
the entity bean cmp-version is 1.x.
|
|
|
|
The optional home and remote elements must be specified if
|
|
the entity bean has a remote home and remote interface.
|
|
|
|
The optional local-home and local elements must be specified
|
|
if the entity bean has a local home and local interface.
|
|
|
|
Either both the local-home and the local elements or both
|
|
the home and the remote elements must be specified.
|
|
|
|
The optional query elements must be present if the
|
|
persistence-type is Container and the cmp-version is 2.x and
|
|
query methods other than findByPrimaryKey have been defined
|
|
for the entity bean.
|
|
|
|
The other elements that are optional are "optional" in the
|
|
sense that they are omitted if the lists represented by them
|
|
are empty.
|
|
|
|
At least one cmp-field element must be present in the
|
|
descriptor if the entity's persistence-type is Container and
|
|
the cmp-version is 1.x, and none must not be present if the
|
|
entity's persistence-type is Bean.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:group ref="javaee:descriptionGroup"/>
|
|
<xsd:element name="ejb-name"
|
|
type="javaee:ejb-nameType"/>
|
|
<xsd:element name="mapped-name"
|
|
type="javaee:xsdStringType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="home"
|
|
type="javaee:homeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="remote"
|
|
type="javaee:remoteType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="local-home"
|
|
type="javaee:local-homeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="local"
|
|
type="javaee:localType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="ejb-class"
|
|
type="javaee:ejb-classType"/>
|
|
<xsd:element name="persistence-type"
|
|
type="javaee:persistence-typeType"/>
|
|
<xsd:element name="prim-key-class"
|
|
type="javaee:fully-qualified-classType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The prim-key-class element contains the
|
|
fully-qualified name of an
|
|
entity bean's primary key class.
|
|
|
|
If the definition of the primary key class is
|
|
deferred to deployment time, the prim-key-class
|
|
element should specify java.lang.Object.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="reentrant"
|
|
type="javaee:true-falseType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The reentrant element specifies whether an entity
|
|
bean is reentrant or not.
|
|
|
|
The reentrant element must be one of the two
|
|
following: true or false
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="cmp-version"
|
|
type="javaee:cmp-versionType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="abstract-schema-name"
|
|
type="javaee:java-identifierType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The abstract-schema-name element specifies the name
|
|
of the abstract schema type of an entity bean with
|
|
cmp-version 2.x. It is used in EJB QL queries.
|
|
|
|
For example, the abstract-schema-name for an entity
|
|
bean whose local interface is
|
|
com.acme.commerce.Order might be Order.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="cmp-field"
|
|
type="javaee:cmp-fieldType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="primkey-field"
|
|
type="javaee:string"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The primkey-field element is used to specify the
|
|
name of the primary key field for an entity with
|
|
container-managed persistence.
|
|
|
|
The primkey-field must be one of the fields declared
|
|
in the cmp-field element, and the type of the field
|
|
must be the same as the primary key type.
|
|
|
|
The primkey-field element is not used if the primary
|
|
key maps to multiple container-managed fields
|
|
(i.e. the key is a compound key). In this case, the
|
|
fields of the primary key class must be public, and
|
|
their names must correspond to the field names of
|
|
the entity bean class that comprise the key.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
|
|
<xsd:element name="security-role-ref"
|
|
type="javaee:security-role-refType"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="security-identity"
|
|
type="javaee:security-identityType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="query"
|
|
type="javaee:queryType"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="exclude-listType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The exclude-listType specifies one or more methods which
|
|
the Assembler marks to be uncallable.
|
|
|
|
If the method permission relation contains methods that are
|
|
in the exclude list, the Deployer should consider those
|
|
methods to be uncallable.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="method"
|
|
type="javaee:methodType"
|
|
maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="init-methodType">
|
|
<xsd:sequence>
|
|
<xsd:element name="create-method"
|
|
type="javaee:named-methodType"/>
|
|
<xsd:element name="bean-method"
|
|
type="javaee:named-methodType"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="interceptor-bindingType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The interceptor-bindingType element describes the binding of
|
|
interceptor classes to beans within the ejb-jar.
|
|
It consists of :
|
|
|
|
- An optional description.
|
|
- The name of an ejb within the ejb-jar or the wildcard value "*",
|
|
which is used to define interceptors that are bound to all
|
|
beans in the ejb-jar.
|
|
- A list of interceptor classes that are bound to the contents of
|
|
the ejb-name element or a specification of the total ordering
|
|
over the interceptors defined for the given level and above.
|
|
- An optional exclude-default-interceptors element. If set to true,
|
|
specifies that default interceptors are not to be applied to
|
|
a bean-class and/or business method.
|
|
- An optional exclude-class-interceptors element. If set to true,
|
|
specifies that class interceptors are not to be applied to
|
|
a business method.
|
|
- An optional set of method elements for describing the name/params
|
|
of a method-level interceptor.
|
|
|
|
Interceptors bound to all classes using the wildcard syntax
|
|
"*" are default interceptors for the components in the ejb-jar.
|
|
In addition, interceptors may be bound at the level of the bean
|
|
class (class-level interceptors) or business methods (method-level
|
|
interceptors ).
|
|
|
|
The binding of interceptors to classes is additive. If interceptors
|
|
are bound at the class-level and/or default-level as well as the
|
|
method-level, both class-level and/or default-level as well as
|
|
method-level will apply.
|
|
|
|
There are four possible styles of the interceptor element syntax :
|
|
|
|
1.
|
|
<interceptor-binding>
|
|
<ejb-name>*</ejb-name>
|
|
<interceptor-class>INTERCEPTOR</interceptor-class>
|
|
</interceptor-binding>
|
|
|
|
Specifying the ejb-name as the wildcard value "*" designates
|
|
default interceptors (interceptors that apply to all session and
|
|
message-driven beans contained in the ejb-jar).
|
|
|
|
2.
|
|
<interceptor-binding>
|
|
<ejb-name>EJBNAME</ejb-name>
|
|
<interceptor-class>INTERCEPTOR</interceptor-class>
|
|
</interceptor-binding>
|
|
|
|
This style is used to refer to interceptors associated with the
|
|
specified enterprise bean(class-level interceptors).
|
|
|
|
3.
|
|
<interceptor-binding>
|
|
<ejb-name>EJBNAME</ejb-name>
|
|
<interceptor-class>INTERCEPTOR</interceptor-class>
|
|
<method>
|
|
<method-name>METHOD</method-name>
|
|
</method>
|
|
</interceptor-binding>
|
|
|
|
This style is used to associate a method-level interceptor with
|
|
the specified enterprise bean. If there are multiple methods
|
|
with the same overloaded name, the element of this style refers
|
|
to all the methods with the overloaded name. Method-level
|
|
interceptors can only be associated with business methods of the
|
|
bean class. Note that the wildcard value "*" cannot be used
|
|
to specify method-level interceptors.
|
|
|
|
4.
|
|
<interceptor-binding>
|
|
<ejb-name>EJBNAME</ejb-name>
|
|
<interceptor-class>INTERCEPTOR</interceptor-class>
|
|
<method>
|
|
<method-name>METHOD</method-name>
|
|
<method-params>
|
|
<method-param>PARAM-1</method-param>
|
|
<method-param>PARAM-2</method-param>
|
|
...
|
|
<method-param>PARAM-N</method-param>
|
|
</method-params>
|
|
</method>
|
|
</interceptor-binding>
|
|
|
|
This style is used to associate a method-level interceptor with
|
|
the specified method of the specified enterprise bean. This
|
|
style is used to refer to a single method within a set of methods
|
|
with an overloaded name. The values PARAM-1 through PARAM-N
|
|
are the fully-qualified Java types of the method's input parameters
|
|
(if the method has no input arguments, the method-params element
|
|
contains no method-param elements). Arrays are specified by the
|
|
array element's type, followed by one or more pair of square
|
|
brackets (e.g. int[][]).
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="ejb-name"
|
|
type="javaee:string"/>
|
|
<xsd:choice>
|
|
<xsd:element name="interceptor-class"
|
|
type="javaee:fully-qualified-classType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="interceptor-order"
|
|
type="javaee:interceptor-orderType"
|
|
minOccurs="1"/>
|
|
</xsd:choice>
|
|
<xsd:element name="exclude-default-interceptors"
|
|
type="javaee:true-falseType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="exclude-class-interceptors"
|
|
type="javaee:true-falseType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="method"
|
|
type="javaee:named-methodType"
|
|
minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="interceptor-orderType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
The interceptor-orderType element describes a total ordering
|
|
of interceptor classes.
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="interceptor-class"
|
|
type="javaee:fully-qualified-classType"
|
|
minOccurs="1"
|
|
maxOccurs="unbounded"/>
|
|
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="interceptorType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The interceptorType element declares information about a single
|
|
interceptor class. It consists of :
|
|
|
|
- An optional description.
|
|
- The fully-qualified name of the interceptor class.
|
|
- An optional list of around invoke methods declared on the
|
|
interceptor class and/or its super-classes.
|
|
- An optional list environment dependencies for the interceptor
|
|
class and/or its super-classes.
|
|
- An optional list of post-activate methods declared on the
|
|
interceptor class and/or its super-classes.
|
|
- An optional list of pre-passivate methods declared on the
|
|
interceptor class and/or its super-classes.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="interceptor-class"
|
|
type="javaee:fully-qualified-classType"/>
|
|
<xsd:element name="around-invoke"
|
|
type="javaee:around-invokeType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
|
|
<xsd:element name="post-activate"
|
|
type="javaee:lifecycle-callbackType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="pre-passivate"
|
|
type="javaee:lifecycle-callbackType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="interceptorsType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The interceptorsType element declares one or more interceptor
|
|
classes used by components within this ejb-jar. The declaration
|
|
consists of :
|
|
|
|
- An optional description.
|
|
- One or more interceptor elements.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="interceptor"
|
|
type="javaee:interceptorType"
|
|
maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="message-driven-beanType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The message-driven element declares a message-driven
|
|
bean. The declaration consists of:
|
|
|
|
- an optional description
|
|
- an optional display name
|
|
- an optional icon element that contains a small and a large
|
|
icon file name.
|
|
- a name assigned to the enterprise bean in
|
|
the deployment descriptor
|
|
- an optional mapped-name element that can be used to provide
|
|
vendor-specific deployment information such as the physical
|
|
jndi-name of destination from which this message-driven bean
|
|
should consume. This element is not required to be supported
|
|
by all implementations. Any use of this element is non-portable.
|
|
- the message-driven bean's implementation class
|
|
- an optional declaration of the bean's messaging
|
|
type
|
|
- an optional declaration of the bean's timeout method.
|
|
- the optional message-driven bean's transaction management
|
|
type. If it is not defined, it is defaulted to Container.
|
|
- an optional declaration of the bean's
|
|
message-destination-type
|
|
- an optional declaration of the bean's
|
|
message-destination-link
|
|
- an optional declaration of the message-driven bean's
|
|
activation configuration properties
|
|
- an optional list of the message-driven bean class and/or
|
|
superclass around-invoke methods.
|
|
- an optional declaration of the bean's environment
|
|
entries
|
|
- an optional declaration of the bean's EJB references
|
|
- an optional declaration of the bean's local EJB
|
|
references
|
|
- an optional declaration of the bean's web service
|
|
references
|
|
- an optional declaration of the security
|
|
identity to be used for the execution of the bean's
|
|
methods
|
|
- an optional declaration of the bean's
|
|
resource manager connection factory
|
|
references
|
|
- an optional declaration of the bean's resource
|
|
environment references.
|
|
- an optional declaration of the bean's message
|
|
destination references
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:group ref="javaee:descriptionGroup"/>
|
|
<xsd:element name="ejb-name"
|
|
type="javaee:ejb-nameType"/>
|
|
<xsd:element name="mapped-name"
|
|
type="javaee:xsdStringType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="ejb-class"
|
|
type="javaee:ejb-classType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-class element specifies the fully qualified name
|
|
of the bean class for this ejb. It is required unless
|
|
there is a component-defining annotation for the same
|
|
ejb-name.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="messaging-type"
|
|
type="javaee:fully-qualified-classType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The messaging-type element specifies the message
|
|
listener interface of the message-driven bean.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="timeout-method"
|
|
type="javaee:named-methodType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="transaction-type"
|
|
type="javaee:transaction-typeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="message-destination-type"
|
|
type="javaee:message-destination-typeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="message-destination-link"
|
|
type="javaee:message-destination-linkType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="activation-config"
|
|
type="javaee:activation-configType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="around-invoke"
|
|
type="javaee:around-invokeType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
|
|
<xsd:element name="security-identity"
|
|
type="javaee:security-identityType"
|
|
minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="method-intfType">
|
|
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The method-intf element allows a method element to
|
|
differentiate between the methods with the same name and
|
|
signature that are multiply defined across the home and
|
|
component interfaces (e.g, in both an enterprise bean's
|
|
remote and local interfaces or in both an enterprise bean's
|
|
home and remote interfaces, etc.); the component and web
|
|
service endpoint interfaces, and so on. The Local applies to
|
|
both local component interface and local business interface.
|
|
Similarly, Remote applies to both remote component interface
|
|
and the remote business interface.
|
|
|
|
The method-intf element must be one of the following:
|
|
|
|
Home
|
|
Remote
|
|
LocalHome
|
|
Local
|
|
ServiceEndpoint
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="Home"/>
|
|
<xsd:enumeration value="Remote"/>
|
|
<xsd:enumeration value="LocalHome"/>
|
|
<xsd:enumeration value="Local"/>
|
|
<xsd:enumeration value="ServiceEndpoint"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="method-nameType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The method-nameType contains a name of an enterprise
|
|
bean method or the asterisk (*) character. The asterisk is
|
|
used when the element denotes all the methods of an
|
|
enterprise bean's client view interfaces.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string"/>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="method-paramsType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The method-paramsType defines a list of the
|
|
fully-qualified Java type names of the method parameters.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="method-param"
|
|
type="javaee:java-typeType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The method-param element contains a primitive
|
|
or a fully-qualified Java type name of a method
|
|
parameter.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="method-permissionType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The method-permissionType specifies that one or more
|
|
security roles are allowed to invoke one or more enterprise
|
|
bean methods. The method-permissionType consists of an
|
|
optional description, a list of security role names or an
|
|
indicator to state that the method is unchecked for
|
|
authorization, and a list of method elements.
|
|
|
|
The security roles used in the method-permissionType
|
|
must be defined in the security-role elements of the
|
|
deployment descriptor, and the methods must be methods
|
|
defined in the enterprise bean's business, home, component
|
|
and/or web service endpoint interfaces.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:choice>
|
|
<xsd:element name="role-name"
|
|
type="javaee:role-nameType"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="unchecked"
|
|
type="javaee:emptyType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The unchecked element specifies that a method is
|
|
not checked for authorization by the container
|
|
prior to invocation of the method.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
</xsd:choice>
|
|
<xsd:element name="method"
|
|
type="javaee:methodType"
|
|
maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="methodType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
<![CDATA[
|
|
|
|
The methodType is used to denote a method of an enterprise
|
|
bean's business, home, component, and/or web service endpoint
|
|
interface, or, in the case of a message-driven bean, the
|
|
bean's message listener method, or a set of such
|
|
methods. The ejb-name element must be the name of one of the
|
|
enterprise beans declared in the deployment descriptor; the
|
|
optional method-intf element allows to distinguish between a
|
|
method with the same signature that is multiply defined
|
|
across the business, home, component, and/or web service
|
|
endpoint nterfaces; the method-name element specifies the
|
|
method name; and the optional method-params elements identify
|
|
a single method among multiple methods with an overloaded
|
|
method name.
|
|
|
|
There are three possible styles of using methodType element
|
|
within a method element:
|
|
|
|
1.
|
|
<method>
|
|
<ejb-name>EJBNAME</ejb-name>
|
|
<method-name>*</method-name>
|
|
</method>
|
|
|
|
This style is used to refer to all the methods of the
|
|
specified enterprise bean's business, home, component,
|
|
and/or web service endpoint interfaces.
|
|
|
|
2.
|
|
<method>
|
|
<ejb-name>EJBNAME</ejb-name>
|
|
<method-name>METHOD</method-name>
|
|
</method>
|
|
|
|
This style is used to refer to the specified method of
|
|
the specified enterprise bean. If there are multiple
|
|
methods with the same overloaded name, the element of
|
|
this style refers to all the methods with the overloaded
|
|
name.
|
|
|
|
3.
|
|
<method>
|
|
<ejb-name>EJBNAME</ejb-name>
|
|
<method-name>METHOD</method-name>
|
|
<method-params>
|
|
<method-param>PARAM-1</method-param>
|
|
<method-param>PARAM-2</method-param>
|
|
...
|
|
<method-param>PARAM-n</method-param>
|
|
</method-params>
|
|
</method>
|
|
|
|
This style is used to refer to a single method within a
|
|
set of methods with an overloaded name. PARAM-1 through
|
|
PARAM-n are the fully-qualified Java types of the
|
|
method's input parameters (if the method has no input
|
|
arguments, the method-params element contains no
|
|
method-param elements). Arrays are specified by the
|
|
array element's type, followed by one or more pair of
|
|
square brackets (e.g. int[][]). If there are multiple
|
|
methods with the same overloaded name, this style refers
|
|
to all of the overloaded methods.
|
|
|
|
Examples:
|
|
|
|
Style 1: The following method element refers to all the
|
|
methods of the EmployeeService bean's business, home,
|
|
component, and/or web service endpoint interfaces:
|
|
|
|
<method>
|
|
<ejb-name>EmployeeService</ejb-name>
|
|
<method-name>*</method-name>
|
|
</method>
|
|
|
|
Style 2: The following method element refers to all the
|
|
create methods of the EmployeeService bean's home
|
|
interface(s).
|
|
|
|
<method>
|
|
<ejb-name>EmployeeService</ejb-name>
|
|
<method-name>create</method-name>
|
|
</method>
|
|
|
|
Style 3: The following method element refers to the
|
|
create(String firstName, String LastName) method of the
|
|
EmployeeService bean's home interface(s).
|
|
|
|
<method>
|
|
<ejb-name>EmployeeService</ejb-name>
|
|
<method-name>create</method-name>
|
|
<method-params>
|
|
<method-param>java.lang.String</method-param>
|
|
<method-param>java.lang.String</method-param>
|
|
</method-params>
|
|
</method>
|
|
|
|
The following example illustrates a Style 3 element with
|
|
more complex parameter types. The method
|
|
foobar(char s, int i, int[] iar, mypackage.MyClass mycl,
|
|
mypackage.MyClass[][] myclaar) would be specified as:
|
|
|
|
<method>
|
|
<ejb-name>EmployeeService</ejb-name>
|
|
<method-name>foobar</method-name>
|
|
<method-params>
|
|
<method-param>char</method-param>
|
|
<method-param>int</method-param>
|
|
<method-param>int[]</method-param>
|
|
<method-param>mypackage.MyClass</method-param>
|
|
<method-param>mypackage.MyClass[][]</method-param>
|
|
</method-params>
|
|
</method>
|
|
|
|
The optional method-intf element can be used when it becomes
|
|
necessary to differentiate between a method that is multiply
|
|
defined across the enterprise bean's business, home, component,
|
|
and/or web service endpoint interfaces with the same name and
|
|
signature. However, if the same method is a method of both the
|
|
local business interface, and the local component interface,
|
|
the same attribute applies to the method for both interfaces.
|
|
Likewise, if the same method is a method of both the remote
|
|
business interface and the remote component interface, the same
|
|
attribute applies to the method for both interfaces.
|
|
|
|
For example, the method element
|
|
|
|
<method>
|
|
<ejb-name>EmployeeService</ejb-name>
|
|
<method-intf>Remote</method-intf>
|
|
<method-name>create</method-name>
|
|
<method-params>
|
|
<method-param>java.lang.String</method-param>
|
|
<method-param>java.lang.String</method-param>
|
|
</method-params>
|
|
</method>
|
|
|
|
can be used to differentiate the create(String, String)
|
|
method defined in the remote interface from the
|
|
create(String, String) method defined in the remote home
|
|
interface, which would be defined as
|
|
|
|
<method>
|
|
<ejb-name>EmployeeService</ejb-name>
|
|
<method-intf>Home</method-intf>
|
|
<method-name>create</method-name>
|
|
<method-params>
|
|
<method-param>java.lang.String</method-param>
|
|
<method-param>java.lang.String</method-param>
|
|
</method-params>
|
|
</method>
|
|
|
|
and the create method that is defined in the local home
|
|
interface which would be defined as
|
|
|
|
<method>
|
|
<ejb-name>EmployeeService</ejb-name>
|
|
<method-intf>LocalHome</method-intf>
|
|
<method-name>create</method-name>
|
|
<method-params>
|
|
<method-param>java.lang.String</method-param>
|
|
<method-param>java.lang.String</method-param>
|
|
</method-params>
|
|
</method>
|
|
|
|
The method-intf element can be used with all three Styles
|
|
of the method element usage. For example, the following
|
|
method element example could be used to refer to all the
|
|
methods of the EmployeeService bean's remote home interface
|
|
and the remote business interface.
|
|
|
|
<method>
|
|
<ejb-name>EmployeeService</ejb-name>
|
|
<method-intf>Home</method-intf>
|
|
<method-name>*</method-name>
|
|
</method>
|
|
|
|
]]>
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="ejb-name"
|
|
type="javaee:ejb-nameType"/>
|
|
<xsd:element name="method-intf"
|
|
type="javaee:method-intfType"
|
|
minOccurs="0">
|
|
</xsd:element>
|
|
<xsd:element name="method-name"
|
|
type="javaee:method-nameType"/>
|
|
<xsd:element name="method-params"
|
|
type="javaee:method-paramsType"
|
|
minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="multiplicityType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The multiplicityType describes the multiplicity of the
|
|
role that participates in a relation.
|
|
|
|
The value must be one of the two following:
|
|
|
|
One
|
|
Many
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="One"/>
|
|
<xsd:enumeration value="Many"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="named-methodType">
|
|
<xsd:sequence>
|
|
<xsd:element name="method-name"
|
|
type="javaee:string"/>
|
|
<xsd:element name="method-params"
|
|
type="javaee:method-paramsType"
|
|
minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="persistence-typeType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The persistence-typeType specifies an entity bean's persistence
|
|
management type.
|
|
|
|
The persistence-type element must be one of the two following:
|
|
|
|
Bean
|
|
Container
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="Bean"/>
|
|
<xsd:enumeration value="Container"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="query-methodType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
<![CDATA[
|
|
|
|
The query-method specifies the method for a finder or select
|
|
query.
|
|
|
|
The method-name element specifies the name of a finder or select
|
|
method in the entity bean's implementation class.
|
|
|
|
Each method-param must be defined for a query-method using the
|
|
method-params element.
|
|
|
|
It is used by the query-method element.
|
|
|
|
Example:
|
|
|
|
<query>
|
|
<description>Method finds large orders</description>
|
|
<query-method>
|
|
<method-name>findLargeOrders</method-name>
|
|
<method-params></method-params>
|
|
</query-method>
|
|
<ejb-ql>
|
|
SELECT OBJECT(o) FROM Order o
|
|
WHERE o.amount > 1000
|
|
</ejb-ql>
|
|
</query>
|
|
|
|
]]>
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="method-name"
|
|
type="javaee:method-nameType"/>
|
|
<xsd:element name="method-params"
|
|
type="javaee:method-paramsType"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="queryType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The queryType defines a finder or select
|
|
query. It contains
|
|
- an optional description of the query
|
|
- the specification of the finder or select
|
|
method it is used by
|
|
- an optional specification of the result type
|
|
mapping, if the query is for a select method
|
|
and entity objects are returned.
|
|
- the EJB QL query string that defines the query.
|
|
|
|
Queries that are expressible in EJB QL must use the ejb-ql
|
|
element to specify the query. If a query is not expressible
|
|
in EJB QL, the description element should be used to
|
|
describe the semantics of the query and the ejb-ql element
|
|
should be empty.
|
|
|
|
The result-type-mapping is an optional element. It can only
|
|
be present if the query-method specifies a select method
|
|
that returns entity objects. The default value for the
|
|
result-type-mapping element is "Local".
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType" minOccurs="0"/>
|
|
<xsd:element name="query-method"
|
|
type="javaee:query-methodType"/>
|
|
<xsd:element name="result-type-mapping"
|
|
type="javaee:result-type-mappingType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="ejb-ql"
|
|
type="javaee:xsdStringType"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="relationship-role-sourceType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The relationship-role-sourceType designates the source of a
|
|
role that participates in a relationship. A
|
|
relationship-role-sourceType is used by
|
|
relationship-role-source elements to uniquely identify an
|
|
entity bean.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="ejb-name"
|
|
type="javaee:ejb-nameType"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="relationshipsType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The relationshipsType describes the relationships in
|
|
which entity beans with container-managed persistence
|
|
participate. The relationshipsType contains an optional
|
|
description; and a list of ejb-relation elements, which
|
|
specify the container managed relationships.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="ejb-relation"
|
|
type="javaee:ejb-relationType"
|
|
maxOccurs="unbounded">
|
|
|
|
<xsd:unique name="role-name-uniqueness">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-relationship-role-name contains the name of a
|
|
relationship role. The name must be unique within
|
|
a relationship, but can be reused in different
|
|
relationships.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:selector
|
|
xpath=".//javaee:ejb-relationship-role-name"/>
|
|
<xsd:field
|
|
xpath="."/>
|
|
</xsd:unique>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="remove-methodType">
|
|
<xsd:sequence>
|
|
<xsd:element name="bean-method"
|
|
type="javaee:named-methodType"/>
|
|
<xsd:element name="retain-if-exception"
|
|
type="javaee:true-falseType"
|
|
minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="result-type-mappingType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The result-type-mappingType is used in the query element to
|
|
specify whether an abstract schema type returned by a query
|
|
for a select method is to be mapped to an EJBLocalObject or
|
|
EJBObject type.
|
|
|
|
The value must be one of the following:
|
|
|
|
Local
|
|
Remote
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="Local"/>
|
|
<xsd:enumeration value="Remote"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="security-identityType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The security-identityType specifies whether the caller's
|
|
security identity is to be used for the execution of the
|
|
methods of the enterprise bean or whether a specific run-as
|
|
identity is to be used. It contains an optional description
|
|
and a specification of the security identity to be used.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:choice>
|
|
<xsd:element name="use-caller-identity"
|
|
type="javaee:emptyType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The use-caller-identity element specifies that
|
|
the caller's security identity be used as the
|
|
security identity for the execution of the
|
|
enterprise bean's methods.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="run-as"
|
|
type="javaee:run-asType"/>
|
|
</xsd:choice>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="session-beanType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The session-beanType declares an session bean. The
|
|
declaration consists of:
|
|
|
|
- an optional description
|
|
- an optional display name
|
|
- an optional icon element that contains a small and a large
|
|
icon file name
|
|
- a name assigned to the enterprise bean
|
|
in the deployment description
|
|
- an optional mapped-name element that can be used to provide
|
|
vendor-specific deployment information such as the physical
|
|
jndi-name of the session bean's remote home/business interface.
|
|
This element is not required to be supported by all
|
|
implementations. Any use of this element is non-portable.
|
|
- the names of all the remote or local business interfaces,
|
|
if any
|
|
- the names of the session bean's remote home and
|
|
remote interfaces, if any
|
|
- the names of the session bean's local home and
|
|
local interfaces, if any
|
|
- the name of the session bean's web service endpoint
|
|
interface, if any
|
|
- the session bean's implementation class
|
|
- the session bean's state management type
|
|
- an optional declaration of the session bean's timeout method.
|
|
- the optional session bean's transaction management type.
|
|
If it is not present, it is defaulted to Container.
|
|
- an optional list of the session bean class and/or
|
|
superclass around-invoke methods.
|
|
- an optional declaration of the bean's
|
|
environment entries
|
|
- an optional declaration of the bean's EJB references
|
|
- an optional declaration of the bean's local
|
|
EJB references
|
|
- an optional declaration of the bean's web
|
|
service references
|
|
- an optional declaration of the security role
|
|
references
|
|
- an optional declaration of the security identity
|
|
to be used for the execution of the bean's methods
|
|
- an optional declaration of the bean's resource
|
|
manager connection factory references
|
|
- an optional declaration of the bean's resource
|
|
environment references.
|
|
- an optional declaration of the bean's message
|
|
destination references
|
|
|
|
The elements that are optional are "optional" in the sense
|
|
that they are omitted when if lists represented by them are
|
|
empty.
|
|
|
|
Either both the local-home and the local elements or both
|
|
the home and the remote elements must be specified for the
|
|
session bean.
|
|
|
|
The service-endpoint element may only be specified if the
|
|
bean is a stateless session bean.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:sequence>
|
|
<xsd:group ref="javaee:descriptionGroup"/>
|
|
<xsd:element name="ejb-name"
|
|
type="javaee:ejb-nameType"/>
|
|
<xsd:element name="mapped-name"
|
|
type="javaee:xsdStringType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="home"
|
|
type="javaee:homeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="remote"
|
|
type="javaee:remoteType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="local-home"
|
|
type="javaee:local-homeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="local"
|
|
type="javaee:localType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="business-local"
|
|
type="javaee:fully-qualified-classType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="business-remote"
|
|
type="javaee:fully-qualified-classType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="service-endpoint"
|
|
type="javaee:fully-qualified-classType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The service-endpoint element contains the
|
|
fully-qualified name of the enterprise bean's web
|
|
service endpoint interface. The service-endpoint
|
|
element may only be specified for a stateless
|
|
session bean. The specified interface must be a
|
|
valid JAX-RPC service endpoint interface.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="ejb-class"
|
|
type="javaee:ejb-classType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The ejb-class element specifies the fully qualified name
|
|
of the bean class for this ejb. It is required unless
|
|
there is a component-defining annotation for the same
|
|
ejb-name.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="session-type"
|
|
type="javaee:session-typeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="timeout-method"
|
|
type="javaee:named-methodType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="init-method"
|
|
type="javaee:init-methodType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The init-method element specifies the mappings for
|
|
EJB 2.x style create methods for an EJB 3.0 bean.
|
|
This element can only be specified for stateful
|
|
session beans.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="remove-method"
|
|
type="javaee:remove-methodType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The remove-method element specifies the mappings for
|
|
EJB 2.x style remove methods for an EJB 3.0 bean.
|
|
This element can only be specified for stateful
|
|
session beans.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="transaction-type"
|
|
type="javaee:transaction-typeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="around-invoke"
|
|
type="javaee:around-invokeType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
|
|
<xsd:element name="post-activate"
|
|
type="javaee:lifecycle-callbackType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="pre-passivate"
|
|
type="javaee:lifecycle-callbackType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="security-role-ref"
|
|
type="javaee:security-role-refType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded">
|
|
</xsd:element>
|
|
<xsd:element name="security-identity"
|
|
type="javaee:security-identityType"
|
|
minOccurs="0">
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="session-typeType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The session-typeType describes whether the session bean is a
|
|
stateful session or stateless session. It is used by
|
|
session-type elements.
|
|
|
|
The value must be one of the two following:
|
|
|
|
Stateful
|
|
Stateless
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="Stateful"/>
|
|
<xsd:enumeration value="Stateless"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="trans-attributeType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The trans-attributeType specifies how the container must
|
|
manage the transaction boundaries when delegating a method
|
|
invocation to an enterprise bean's business method.
|
|
|
|
The value must be one of the following:
|
|
|
|
NotSupported
|
|
Supports
|
|
Required
|
|
RequiresNew
|
|
Mandatory
|
|
Never
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="NotSupported"/>
|
|
<xsd:enumeration value="Supports"/>
|
|
<xsd:enumeration value="Required"/>
|
|
<xsd:enumeration value="RequiresNew"/>
|
|
<xsd:enumeration value="Mandatory"/>
|
|
<xsd:enumeration value="Never"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="transaction-typeType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The transaction-typeType specifies an enterprise bean's
|
|
transaction management type.
|
|
|
|
The transaction-type must be one of the two following:
|
|
|
|
Bean
|
|
Container
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="Bean"/>
|
|
<xsd:enumeration value="Container"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
</xsd:schema>
|
|
|