diff options
Diffstat (limited to 'bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/ejb-jar_3_1.xsd')
-rw-r--r-- | bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/ejb-jar_3_1.xsd | 3247 |
1 files changed, 0 insertions, 3247 deletions
diff --git a/bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/ejb-jar_3_1.xsd b/bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/ejb-jar_3_1.xsd deleted file mode 100644 index 8c097627a9..0000000000 --- a/bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/ejb-jar_3_1.xsd +++ /dev/null @@ -1,3247 +0,0 @@ -<?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> - - 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. - - </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> |