3261 lines
116 KiB
XML
3261 lines
116 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.1">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
$Id$
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
|
|
|
|
Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.
|
|
|
|
The contents of this file are subject to the terms of either the
|
|
GNU General Public License Version 2 only ("GPL") or the Common
|
|
Development and Distribution License("CDDL") (collectively, the
|
|
"License"). You may not use this file except in compliance with
|
|
the License. You can obtain a copy of the License at
|
|
https://glassfish.dev.java.net/public/CDDL+GPL.html or
|
|
glassfish/bootstrap/legal/LICENSE.txt. See the License for the
|
|
specific language governing permissions and limitations under the
|
|
License.
|
|
|
|
When distributing the software, include this License Header
|
|
Notice in each file and include the License file at
|
|
glassfish/bootstrap/legal/LICENSE.txt. Sun designates this
|
|
particular file as subject to the "Classpath" exception as
|
|
provided by Sun in the GPL Version 2 section of the License file
|
|
that accompanied this code. If applicable, add the following
|
|
below the License Header, with the fields enclosed by brackets []
|
|
replaced by your own identifying information:
|
|
"Portions Copyrighted [year] [name of copyright owner]"
|
|
|
|
Contributor(s):
|
|
|
|
If you wish your version of this file to be governed by only the
|
|
CDDL or only the GPL Version 2, indicate your decision by adding
|
|
"[Contributor] elects to include this software in this
|
|
distribution under the [CDDL or GPL Version 2] license." If you
|
|
don't indicate a single choice of license, a recipient has the
|
|
option to distribute your version of this file under either the
|
|
CDDL, the GPL Version 2 or to extend the choice of license to its
|
|
licensees as provided above. However, if you add GPL Version 2
|
|
code and therefore, elected the GPL Version 2 license, then the
|
|
option applies only if the new code is made subject to such
|
|
option by the copyright holder.
|
|
|
|
|
|
Portions Copyrighted 2009 Red Hat
|
|
|
|
Red Hat elects to include this software in this
|
|
distribution under the GPL Version 2 license.
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
<![CDATA[[
|
|
This is the XML Schema for the EJB 3.1 deployment descriptor.
|
|
|
|
All EJB deployment descriptors must indicate
|
|
the 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_1.xsd"
|
|
version="3.1">
|
|
...
|
|
</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_1.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_6.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 or
|
|
.war 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="access-timeoutType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The access-timeoutType represents the maximum amount of
|
|
time (in a given time unit) that the container should wait for
|
|
a concurrency lock before throwing a timeout exception to the
|
|
client.
|
|
|
|
A timeout value of 0 means concurrent access is not permitted.
|
|
|
|
A timeout value of -1 means wait indefinitely to acquire a lock.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="timeout"
|
|
type="javaee:xsdIntegerType"/>
|
|
<xsd:element name="unit"
|
|
type="javaee:time-unit-typeType"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id"
|
|
type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="async-methodType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The async-methodType element specifies that a session
|
|
bean method has asynchronous invocation semantics.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<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="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="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="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="around-timeoutType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The around-timeout type specifies a method on a
|
|
class to be called during the around-timeout portion of
|
|
a timer timeout callback. Note that each class may have
|
|
only one around-timeout 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-timeout
|
|
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 or .war 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-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="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="concurrency-management-typeType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The concurrency-management-typeType specifies the way concurrency
|
|
is managed for a singleton or stateful session bean.
|
|
|
|
The concurrency management type must be one of the following:
|
|
|
|
Bean
|
|
Container
|
|
|
|
Bean managed concurrency can only be specified for a singleton bean.
|
|
|
|
</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="concurrent-lock-typeType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The concurrent-lock-typeType specifies how the container must
|
|
manage concurrent access to a method of a Singleton bean
|
|
with container-managed concurrency.
|
|
|
|
The container managed concurrency lock type must be one
|
|
of the following :
|
|
|
|
Read
|
|
Write
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="Read"/>
|
|
<xsd:enumeration value="Write"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="concurrent-methodType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The concurrent-methodType specifies information about a method
|
|
of a bean with container managed concurrency.
|
|
|
|
The optional lock element specifies the kind of concurrency
|
|
lock asssociated with the method.
|
|
|
|
The optional access-timeout element specifies the amount of
|
|
time (in a given time unit) the container should wait for a
|
|
concurrency lock before throwing an exception to the client.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="method"
|
|
type="javaee:named-methodType"/>
|
|
<xsd:element name="lock"
|
|
type="javaee:concurrent-lock-typeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="access-timeout"
|
|
type="javaee:access-timeoutType"
|
|
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="depends-onType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The depends-onType is used to express initialization
|
|
ordering dependencies between Singleton components.
|
|
The depends-onType specifies the names of one or more
|
|
Singleton beans in the same application as the referring
|
|
Singleton, each of which must be initialized before
|
|
the referring bean.
|
|
|
|
Each dependent bean is expressed using ejb-link syntax.
|
|
The order in which dependent beans are initialized at
|
|
runtime is not guaranteed to match the order in which
|
|
they are listed.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="ejb-name"
|
|
type="javaee:ejb-linkType"
|
|
minOccurs="1"
|
|
maxOccurs="unbounded"/>
|
|
</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
|
|
- an optional module name. Only applicable to
|
|
stand-alone ejb-jars or ejb-jars packaged in an ear.
|
|
Ignored if specified for an ejb-jar.xml within a .war.
|
|
In that case, standard .war module-name rules apply.
|
|
- 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:element name="module-name"
|
|
type="javaee:string"
|
|
minOccurs="0"/>
|
|
<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 or .war 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.1"
|
|
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
|
|
file producer to name the enterprise bean in the
|
|
ejb-jar or .war file's deployment descriptor. The name must be
|
|
unique among the names of the enterprise beans in the same
|
|
ejb-jar or .war 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="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.
|
|
- an optional inherited element. If this element is
|
|
set to true, subclasses of the exception class type
|
|
are also automatically considered application
|
|
exceptions (unless overriden at a lower level).
|
|
If set to false, only the exception class type is
|
|
considered an application-exception, not its
|
|
exception subclasses. If not specified, this
|
|
value defaults to true.
|
|
|
|
</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:element name="inherited"
|
|
type="javaee:true-falseType"
|
|
minOccurs="0"/>
|
|
</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 or .war. 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="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 of around timeout 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:element name="around-timeout"
|
|
type="javaee:around-timeoutType"
|
|
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="interceptor-bindingType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
<![CDATA[[
|
|
The interceptor-bindingType element describes the binding of
|
|
interceptor classes to beans within the ejb-jar or .war.
|
|
It consists of :
|
|
|
|
- An optional description.
|
|
- The name of an ejb within the module or the wildcard value "*",
|
|
which is used to define interceptors that are bound to all
|
|
beans in the ejb-jar or .war.
|
|
- 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 or .war.
|
|
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 or .war).
|
|
|
|
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="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="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="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="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 for
|
|
handling programmatically created timers
|
|
- an optional declaration of timers to be automatically created at
|
|
deployment time
|
|
- 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 list of the message-driven bean class and/or
|
|
superclass around-timeout 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
|
|
|
|
</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:annotation>
|
|
<xsd:documentation>
|
|
|
|
The timeout-method element specifies the method that
|
|
will receive callbacks for programmatically
|
|
created timers.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="timer"
|
|
type="javaee:timerType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<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:element name="around-timeout"
|
|
type="javaee:around-timeoutType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
|
|
<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: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="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.
|
|
|
|
Local applies to the local component interface, local business
|
|
interfaces, and the no-interface view.
|
|
|
|
Remote applies to both remote component interface and the remote
|
|
business interfaces.
|
|
|
|
ServiceEndpoint refers to methods exposed through a web service
|
|
endpoint.
|
|
|
|
Timer refers to the bean's timeout callback methods.
|
|
|
|
MessageEndpoint refers to the methods of a message-driven bean's
|
|
message-listener interface.
|
|
|
|
The method-intf element must be one of the following:
|
|
|
|
Home
|
|
Remote
|
|
LocalHome
|
|
Local
|
|
ServiceEndpoint
|
|
Timer
|
|
MessageEndpoint
|
|
|
|
</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:enumeration value="Timer"/>
|
|
<xsd:enumeration value="MessageEndpoint"/>
|
|
</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="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="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="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="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="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="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
|
|
- an optional declaration that this bean exposes a
|
|
no-interface view
|
|
- 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 a stateful session bean's timeout value
|
|
- an optional declaration of the session bean's timeout method for
|
|
handling programmatically created timers
|
|
- an optional declaration of timers to be automatically created at
|
|
deployment time
|
|
- an optional declaration that a Singleton bean has eager
|
|
initialization
|
|
- an optional declaration of a Singleton/Stateful bean's concurrency
|
|
management type
|
|
- an optional declaration of the method locking metadata
|
|
for a Singleton with container managed concurrency
|
|
- an optional declaration of the other Singleton beans in the
|
|
application that must be initialized before this bean
|
|
- an optional declaration of the session bean's asynchronous
|
|
methods
|
|
- the optional session bean's transaction management type.
|
|
If it is not present, it is defaulted to Container.
|
|
- an optional declaration of a stateful session bean's
|
|
afterBegin, beforeCompletion, and/or afterCompletion methods
|
|
- an optional list of the session bean class and/or
|
|
superclass around-invoke methods.
|
|
- an optional list of the session bean class and/or
|
|
superclass around-timeout 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.
|
|
|
|
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="local-bean"
|
|
type="javaee:emptyType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The local-bean element declares that this
|
|
session bean exposes a no-interface Local client view.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<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="stateful-timeout"
|
|
type="javaee:stateful-timeoutType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="timeout-method"
|
|
type="javaee:named-methodType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The timeout-method element specifies the method that
|
|
will receive callbacks for programmatically
|
|
created timers.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="timer"
|
|
type="javaee:timerType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="init-on-startup"
|
|
type="javaee:true-falseType"
|
|
minOccurs="0">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The init-on-startup element specifies that a Singleton
|
|
bean has eager initialization.
|
|
This element can only be specified for singleton session
|
|
beans.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="concurrency-management-type"
|
|
type="javaee:concurrency-management-typeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="concurrent-method"
|
|
type="javaee:concurrent-methodType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="depends-on"
|
|
type="javaee:depends-onType"
|
|
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.x 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.x bean.
|
|
This element can only be specified for stateful
|
|
session beans.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
<xsd:element name="async-method"
|
|
type="javaee:async-methodType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="transaction-type"
|
|
type="javaee:transaction-typeType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="after-begin-method"
|
|
type="javaee:named-methodType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="before-completion-method"
|
|
type="javaee:named-methodType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="after-completion-method"
|
|
type="javaee:named-methodType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="around-invoke"
|
|
type="javaee:around-invokeType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="around-timeout"
|
|
type="javaee:around-timeoutType"
|
|
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
|
|
singleton, stateful or stateless session. It is used by
|
|
session-type elements.
|
|
|
|
The value must be one of the three following:
|
|
|
|
Singleton
|
|
Stateful
|
|
Stateless
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="Singleton"/>
|
|
<xsd:enumeration value="Stateful"/>
|
|
<xsd:enumeration value="Stateless"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="stateful-timeoutType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The stateful-timeoutType represents the amount of time
|
|
a stateful session bean can be idle(not receive any client
|
|
invocations) before it is eligible for removal by the container.
|
|
|
|
A timeout value of 0 means the bean is immediately eligible for removal.
|
|
|
|
A timeout value of -1 means the bean will never be removed due to timeout.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="timeout"
|
|
type="javaee:xsdIntegerType"/>
|
|
<xsd:element name="unit"
|
|
type="javaee:time-unit-typeType"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id"
|
|
type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="time-unit-typeType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The time-unit-typeType represents a time duration at a given
|
|
unit of granularity.
|
|
|
|
The time unit type must be one of the following :
|
|
|
|
Days
|
|
Hours
|
|
Minutes
|
|
Seconds
|
|
Milliseconds
|
|
Microseconds
|
|
Nanoseconds
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:simpleContent>
|
|
<xsd:restriction base="javaee:string">
|
|
<xsd:enumeration value="Days"/>
|
|
<xsd:enumeration value="Hours"/>
|
|
<xsd:enumeration value="Minutes"/>
|
|
<xsd:enumeration value="Seconds"/>
|
|
<xsd:enumeration value="Milliseconds"/>
|
|
<xsd:enumeration value="Microseconds"/>
|
|
<xsd:enumeration value="Nanoseconds"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="timer-scheduleType">
|
|
<xsd:sequence>
|
|
<xsd:element name="second"
|
|
type="javaee:string"
|
|
minOccurs="0"/>
|
|
<xsd:element name="minute"
|
|
type="javaee:string"
|
|
minOccurs="0"/>
|
|
<xsd:element name="hour"
|
|
type="javaee:string"
|
|
minOccurs="0"/>
|
|
<xsd:element name="day-of-month"
|
|
type="javaee:string"
|
|
minOccurs="0"/>
|
|
<xsd:element name="month"
|
|
type="javaee:string"
|
|
minOccurs="0"/>
|
|
<xsd:element name="day-of-week"
|
|
type="javaee:string"
|
|
minOccurs="0"/>
|
|
<xsd:element name="year"
|
|
type="javaee:string"
|
|
minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id"
|
|
type="xsd:ID"/>
|
|
</xsd:complexType>
|
|
|
|
|
|
<!-- **************************************************** -->
|
|
|
|
<xsd:complexType name="timerType">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
The timerType specifies an enterprise bean timer. Each
|
|
timer is automatically created by the container upon
|
|
deployment. Timer callbacks occur based on the
|
|
schedule attributes. All callbacks are made to the
|
|
timeout-method associated with the timer.
|
|
|
|
A timer can have an optional start and/or end date. If
|
|
a start date is specified, it takes precedence over the
|
|
associated timer schedule such that any matching
|
|
expirations prior to the start time will not occur.
|
|
Likewise, no matching expirations will occur after any
|
|
end date. Start/End dates are specified using the
|
|
XML Schema dateTime type, which follows the ISO-8601
|
|
standard for date(and optional time-within-the-day)
|
|
representation.
|
|
|
|
An optional flag can be used to control whether
|
|
this timer has persistent(true) delivery semantics or
|
|
non-persistent(false) delivery semantics. If not specified,
|
|
the value defaults to persistent(true).
|
|
|
|
A time zone can optionally be associated with a timer.
|
|
If specified, the timer's schedule is evaluated in the context
|
|
of that time zone, regardless of the default time zone in which
|
|
the container is executing. Time zones are specified as an
|
|
ID string. The set of required time zone IDs is defined by
|
|
the Zone Name(TZ) column of the public domain zoneinfo database.
|
|
|
|
An optional info string can be assigned to the timer and
|
|
retrieved at runtime through the Timer.getInfo() method.
|
|
|
|
The timerType can only be specified on stateless session
|
|
beans, singleton session beans, and message-driven beans.
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:sequence>
|
|
<xsd:element name="description"
|
|
type="javaee:descriptionType"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
<xsd:element name="schedule"
|
|
type="javaee:timer-scheduleType"/>
|
|
<xsd:element name="start"
|
|
type="xsd:dateTime"
|
|
minOccurs="0"/>
|
|
<xsd:element name="end"
|
|
type="xsd:dateTime"
|
|
minOccurs="0"/>
|
|
<xsd:element name="timeout-method"
|
|
type="javaee:named-methodType"/>
|
|
<xsd:element name="persistent"
|
|
type="javaee:true-falseType"
|
|
minOccurs="0"/>
|
|
<xsd:element name="timezone"
|
|
type="javaee:string"
|
|
minOccurs="0"/>
|
|
<xsd:element name="info"
|
|
type="javaee:string"
|
|
minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id"
|
|
type="xsd:ID"/>
|
|
</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>
|