<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. | |
Copyright 2000-2007 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. | |
--> | |
<!-- | |
This is the XML DTD for the EJB 2.0 deployment descriptor. | |
All EJB 2.0 deployment descriptors must include a DOCTYPE | |
of the following form: | |
<!DOCTYPE ejb-jar PUBLIC | |
"-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" | |
"http://java.sun.com/dtd/ejb-jar_2_0.dtd"> | |
--> | |
<!-- | |
The following conventions apply to all J2EE deployment descriptor | |
elements unless indicated otherwise. | |
- In elements that contain PCDATA, leading and trailing whitespace | |
in the data may be ignored. | |
- In elements whose value is an "enumerated type", the value is | |
case sensitive. | |
- 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. | |
--> | |
<!-- | |
The ejb-jar element is the root element of the EJB deployment | |
descriptor. It contains | |
- an optional description of the ejb-jar file | |
- an optional display name | |
- an optional small icon file name | |
- an optional large icon file name | |
- mandatory structural information about all included | |
enterprise beans | |
- 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. | |
--> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |
<xs:element name="ejb-jar"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element minOccurs="0" ref="display-name"/> | |
<xs:element minOccurs="0" ref="small-icon"/> | |
<xs:element minOccurs="0" ref="large-icon"/> | |
<xs:element ref="enterprise-beans"/> | |
<xs:element minOccurs="0" ref="relationships"/> | |
<xs:element minOccurs="0" ref="assembly-descriptor"/> | |
<xs:element minOccurs="0" ref="ejb-client-jar"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. | |
Used in: entity | |
--> | |
<xs:element name="abstract-schema-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The acknowledge-mode element specifies whether JMS AUTO_ACKNOWLEDGE or | |
DUPS_OK_ACKNOWLEDGE message acknowledgment semantics should be used | |
for the onMessage message of a message-driven bean that uses bean | |
managed transaction demarcation. | |
The acknowledge-mode element must be one of the two following: | |
<acknowledge-mode>Auto-acknowledge</acknowledge-mode> | |
<acknowledge-mode>Dups-ok-acknowledge</acknowledgemode> | |
Used in: message-driven | |
--> | |
<xs:element name="acknowledge-mode"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The assembly-descriptor element contains 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 and | |
a list of methods to be excluded from being invoked. | |
All the parts are optional in the sense that they are omitted if the | |
lists represented by them are empty. | |
Providing an assembly-descriptor in the deployment descriptor is | |
optional for the ejb-jar file producer. | |
Used in: ejb-jar | |
--> | |
<xs:element name="assembly-descriptor"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="security-role"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="method-permission"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="container-transaction"/> | |
<xs:element minOccurs="0" ref="exclude-list"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. | |
Used in: ejb-relationship-role | |
--> | |
<xs:element name="cascade-delete"> | |
<xs:complexType> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The cmp-field element describes a container-managed field. The | |
field element includes an optional description of the field, and the | |
name of the field. | |
Used in: entity | |
--> | |
<xs:element name="cmp-field"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="field-name"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The cmp-version element specifies the version of an entity bean | |
with container-managed persistence. | |
The cmp-version element must be one of the two following: | |
<cmp-version>1.x</cmp-version> | |
<cmp-version>2.x</cmp-version> | |
The default value of the cmp-version element is 2.x. | |
Used in: entity | |
--> | |
<xs:element name="cmp-version"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The cmr-field element 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. | |
Used in: ejb-relationship-role | |
--> | |
<xs:element name="cmr-field"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="cmr-field-name"/> | |
<xs:element minOccurs="0" ref="cmr-field-type"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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". | |
Used in: cmr-field | |
--> | |
<xs:element name="cmr-field-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The cmr-field-type element specifies the class of a | |
collection-valued logical relationship field in the entity bean | |
class. The value of the cmr-field-type element must be either: | |
java.util.Collection or java.util.Set. | |
Used in: cmr-field | |
--> | |
<xs:element name="cmr-field-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The container-transaction element specifies how the container | |
must manage transaction scopes for the enterprise bean's method | |
invocations. The element consists of an optional description, a list | |
of method elements, and a transaction attribute. The transaction | |
attribute is to be applied to all the specified methods. | |
Used in: assembly-descriptor | |
--> | |
<xs:element name="container-transaction"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element maxOccurs="unbounded" ref="method"/> | |
<xs:element ref="trans-attribute"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The description element is used to provide text describing the parent | |
element. The description element should include any information that | |
the enterprise bean ejb-jar file producer wants to provide to the consumer of | |
the enterprise bean ejb-jar file (i.e., to the Deployer). Typically, the tools | |
used by the enterprise bean ejb-jar file consumer will display the description | |
when processing the parent element that contains the description. | |
Used in: cmp-field, cmr-field, container-transaction, ejb-jar, | |
ejb-local-ref, ejb-ref, ejb-relation, ejb-relationship-role, entity, | |
env-entry, exclude-list, message-driven, method, method-permission, | |
query, relationship-role-source, relationships, resource-env-ref, | |
resource-ref, run-as, security-identity, security-role, | |
security-role-ref, session | |
--> | |
<xs:element name="description"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The destination-type element specifies the type of the JMS | |
destination. The type is specified by the Java interface expected to | |
be implemented by the destination. | |
The destination-type element must be one of the two following: | |
<destination-type>javax.jms.Queue</destination-type> | |
<destination-type>javax.jms.Topic</destination-type> | |
Used in: message-driven-destination | |
--> | |
<xs:element name="destination-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The display-name element contains a short name that is intended to be | |
displayed by tools. The display name need not be unique. | |
Used in: ejb-jar, entity, message-driven, session | |
Example: | |
<display-name>Employee Self Service</display-name> | |
--> | |
<xs:element name="display-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-class element contains the fully-qualified name of the | |
enterprise bean's class. | |
Used in: entity, message-driven, session | |
Example: | |
<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class> | |
--> | |
<xs:element name="ejb-class"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. | |
Used in: ejb-jar | |
Example: | |
<ejb-client-jar>employee_service_client.jar</ejb-client-jar> | |
--> | |
<xs:element name="ejb-client-jar"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-link element is used in the ejb-ref or ejb-local-ref | |
elements to specify that an EJB reference is linked to an | |
enterprise bean. | |
The value of the ejb-link element must be the ejb-name of an | |
enterprise bean in the same ejb-jar file or in another ejb-jar | |
file in the same J2EE application unit. | |
Alternatively, the name in the ejb-link element may be composed of a | |
path name specifying the ejb-jar containing the referenced enterprise | |
bean with the ejb-name of the target bean appended and separated from | |
the path name by "#". The path name is relative to the ejb-jar file | |
containing the enterprise bean that is referencing the enterprise bean. | |
This allows multiple enterprise beans with the same ejb-name to be | |
uniquely identified. | |
Used in: ejb-local-ref, ejb-ref | |
Examples: | |
<ejb-link>EmployeeRecord</ejb-link> | |
<ejb-link>../products/product.jar#ProductEJB</ejb-link> | |
--> | |
<xs:element name="ejb-link"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-local-ref element is used for the declaration of a reference to | |
an enterprise bean's local home. The declaration consists of: | |
- an optional description | |
- the EJB reference name used in the code of the enterprise bean | |
that's referencing the enterprise bean | |
- the expected type of the referenced enterprise bean | |
- the expected local home and local interfaces of the referenced | |
enterprise bean | |
- optional ejb-link information, used to specify the referenced | |
enterprise bean | |
Used in: entity, message-driven, session | |
--> | |
<xs:element name="ejb-local-ref"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="ejb-ref-name"/> | |
<xs:element ref="ejb-ref-type"/> | |
<xs:element ref="local-home"/> | |
<xs:element ref="local"/> | |
<xs:element minOccurs="0" ref="ejb-link"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-name element specifies an enterprise bean's name. This name is | |
assigned by the ejb-jar file producer to name the enterprise bean in | |
the ejb-jar file's deployment descriptor. The name must be unique | |
among the names of the enterprise beans in the same ejb-jar file. | |
There is no architected relationship between the 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 with cmp-version 2.x must conform to the | |
lexical rules for an NMTOKEN. The name for an entity bean with | |
cmp-version 2.x must not be a reserved literal in EJB QL. | |
Used in: entity, message-driven, method, relationship-role-source, | |
session | |
Example: | |
<ejb-name>EmployeeService</ejb-name> | |
--> | |
<xs:element name="ejb-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-ql element contains the EJB QL query string that defines | |
a finder or select query. This element is defined within the scope of | |
a query element whose contents specify the finder or the select method | |
that uses the query. The content must be a valid EJB QL query string | |
for the entity bean for which the query is specified. | |
The ejb-ql element must be specified for all queries that are | |
expressible in EJB QL. | |
Used in: query | |
Example: | |
<query> | |
<query-method> | |
<method-name>ejbSelectPendingLineitems</method-name> | |
<method-params/> | |
</query-method> | |
<ejb-ql>SELECT OBJECT(l) FROM LineItems l WHERE l.shipped <> TRUE | |
</ejb-ql> | |
</query> | |
--> | |
<xs:element name="ejb-ql"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-ref element is used for the declaration of a reference to | |
an enterprise bean's home. The declaration consists of: | |
- an optional description | |
- the EJB reference name used in the code of | |
the enterprise bean that's referencing the enterprise bean | |
- the expected type of the referenced enterprise bean | |
- the expected home and remote interfaces of the referenced | |
enterprise bean | |
- optional ejb-link information, used to specify the referenced | |
enterprise bean | |
Used in: entity, message-driven, session | |
--> | |
<xs:element name="ejb-ref"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="ejb-ref-name"/> | |
<xs:element ref="ejb-ref-type"/> | |
<xs:element ref="home"/> | |
<xs:element ref="remote"/> | |
<xs:element minOccurs="0" ref="ejb-link"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-ref-name element contains the name of an EJB reference. The | |
EJB reference is an entry in the enterprise bean's environment and is | |
relative to the java:comp/env context. The name must be unique | |
within the enterprise bean. | |
It is recommended that name is prefixed with "ejb/". | |
Used in: ejb-local-ref, ejb-ref | |
Example: | |
<ejb-ref-name>ejb/Payroll</ejb-ref-name> | |
--> | |
<xs:element name="ejb-ref-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-ref-type element contains the expected type of the | |
referenced enterprise bean. | |
The ejb-ref-type element must be one of the following: | |
<ejb-ref-type>Entity</ejb-ref-type> | |
<ejb-ref-type>Session</ejb-ref-type> | |
Used in: ejb-local-ref, ejb-ref | |
--> | |
<xs:element name="ejb-ref-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-relation element describes a relationship between two | |
entity beans with container-managed persistence. An ejb-relation | |
element 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. | |
Used in: relationships | |
--> | |
<xs:element name="ejb-relation"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element minOccurs="0" ref="ejb-relation-name"/> | |
<xs:element ref="ejb-relationship-role"/> | |
<xs:element ref="ejb-relationship-role"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-relation-name element provides a unique name for a relationship. | |
Used in: ejb-relation | |
--> | |
<xs:element name="ejb-relation-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The ejb-relationship-role element describes a role within a | |
relationship. There are two roles in each relationship. | |
The ejb-relationship-role element 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. | |
Used in: ejb-relation | |
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> | |
--> | |
<xs:element name="ejb-relationship-role"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element minOccurs="0" ref="ejb-relationship-role-name"/> | |
<xs:element ref="multiplicity"/> | |
<xs:element minOccurs="0" ref="cascade-delete"/> | |
<xs:element ref="relationship-role-source"/> | |
<xs:element minOccurs="0" ref="cmr-field"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. | |
Used in: ejb-relationship-role | |
--> | |
<xs:element name="ejb-relationship-role-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The enterprise-beans element contains the declarations of one or more | |
enterprise beans. | |
--> | |
<xs:element name="enterprise-beans"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element ref="session"/> | |
<xs:element ref="entity"/> | |
<xs:element ref="message-driven"/> | |
</xs:choice> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The entity element declares an entity bean. The declaration | |
consists of: | |
- an optional description | |
- an optional display name | |
- an optional small icon file name | |
- an optional large icon file name | |
- a unique name assigned to the enterprise bean | |
in the deployment descriptor | |
- 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 entity bean's persistence management type | |
- 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 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 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. | |
Used in: enterprise-beans | |
--> | |
<xs:element name="entity"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element minOccurs="0" ref="display-name"/> | |
<xs:element minOccurs="0" ref="small-icon"/> | |
<xs:element minOccurs="0" ref="large-icon"/> | |
<xs:element ref="ejb-name"/> | |
<xs:element minOccurs="0" ref="home"/> | |
<xs:element minOccurs="0" ref="remote"/> | |
<xs:element minOccurs="0" ref="local-home"/> | |
<xs:element minOccurs="0" ref="local"/> | |
<xs:element ref="ejb-class"/> | |
<xs:element ref="persistence-type"/> | |
<xs:element ref="prim-key-class"/> | |
<xs:element ref="reentrant"/> | |
<xs:element minOccurs="0" ref="cmp-version"/> | |
<xs:element minOccurs="0" ref="abstract-schema-name"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cmp-field"/> | |
<xs:element minOccurs="0" ref="primkey-field"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="env-entry"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ejb-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ejb-local-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="security-role-ref"/> | |
<xs:element minOccurs="0" ref="security-identity"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-env-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="query"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The env-entry element contains the declaration of an enterprise bean's | |
environment entry. The declaration consists of an optional | |
description, the name of the environment entry, and an optional | |
value. If a value is not specified, one must be supplied | |
during deployment. | |
Used in: entity, message-driven, session | |
--> | |
<xs:element name="env-entry"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="env-entry-name"/> | |
<xs:element ref="env-entry-type"/> | |
<xs:element minOccurs="0" ref="env-entry-value"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The env-entry-name element contains the name of an enterprise bean's | |
environment entry. The name is a JNDI name relative to the | |
java:comp/env context. The name must be unique within an enterprise bean. | |
Used in: env-entry | |
Example: | |
<env-entry-name>minAmount</env-entry-name> | |
--> | |
<xs:element name="env-entry-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The env-entry-type element contains the fully-qualified Java type of | |
the environment entry value that is expected by the enterprise bean's | |
code. | |
The following are the legal values of env-entry-type: | |
java.lang.Boolean | |
java.lang.Byte | |
java.lang.Character | |
java.lang.String | |
java.lang.Short | |
java.lang.Integer | |
java.lang.Long | |
java.lang.Float | |
java.lang.Double | |
Used in: env-entry | |
Example: | |
<env-entry-type>java.lang.Boolean</env-entry-type> | |
--> | |
<xs:element name="env-entry-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The env-entry-value element contains the value of an enterprise bean's | |
environment entry. The value must be a String that is valid for the | |
constructor of the specified type that takes a single String | |
parameter, or for java.lang.Character, a single character. | |
Used in: env-entry | |
Example: | |
<env-entry-value>100.00</env-entry-value> | |
--> | |
<xs:element name="env-entry-value"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The exclude list element 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. | |
Used in: assembly-descriptor | |
--> | |
<xs:element name="exclude-list"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element maxOccurs="unbounded" ref="method"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. | |
Used in: cmp-field | |
Example: | |
<field-name>firstName</field-Name> | |
--> | |
<xs:element name="field-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The home element contains the fully-qualified name of the enterprise | |
bean's home interface. | |
Used in: ejb-ref, entity, session | |
Example: | |
<home>com.aardvark.payroll.PayrollHome</home> | |
--> | |
<xs:element name="home"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The large-icon element contains the name of a file | |
containing a large (32 x 32) icon image. The file | |
name is a relative path within the enterprise bean's | |
ejb-jar file. | |
The image may be either in the JPEG or GIF format. | |
The icon can be used by tools. | |
Used in: ejb-jar, entity, message-driven, session | |
Example: | |
<large-icon>employee-service-icon32x32.jpg</large-icon> | |
--> | |
<xs:element name="large-icon"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The local element contains the fully-qualified name of the | |
enterprise bean's local interface. | |
Used in: ejb-local-ref, entity, session | |
--> | |
<xs:element name="local"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The local-home element contains the fully-qualified name of the | |
enterprise bean's local home interface. | |
Used in: ejb-local-ref, entity, session | |
--> | |
<xs:element name="local-home"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The message-driven element declares a message-driven bean. The | |
declaration consists of: | |
- an optional description | |
- an optional display name | |
- an optional small icon file name | |
- an optional large icon file name | |
- a name assigned to the enterprise bean in | |
the deployment descriptor | |
- the message-driven bean's implementation class | |
- the message-driven bean's transaction management type | |
- an optional declaration of the message-driven bean's | |
message selector | |
- an optional declaration of the | |
acknowledgment mode for the message-driven bean | |
if bean-managed transaction demarcation is used | |
- an optional declaration of the | |
intended destination type of the message-driven bean | |
- 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 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. | |
Used in: enterprise-beans | |
--> | |
<xs:element name="message-driven"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element minOccurs="0" ref="display-name"/> | |
<xs:element minOccurs="0" ref="small-icon"/> | |
<xs:element minOccurs="0" ref="large-icon"/> | |
<xs:element ref="ejb-name"/> | |
<xs:element ref="ejb-class"/> | |
<xs:element ref="transaction-type"/> | |
<xs:element minOccurs="0" ref="message-selector"/> | |
<xs:element minOccurs="0" ref="acknowledge-mode"/> | |
<xs:element minOccurs="0" ref="message-driven-destination"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="env-entry"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ejb-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ejb-local-ref"/> | |
<xs:element minOccurs="0" ref="security-identity"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-env-ref"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The message-driven-destination element provides advice to the Deployer | |
as to whether a message-driven bean is intended for a Queue or a | |
Topic. The declaration consists of: the type of the message-driven | |
bean's intended destination and an optional declaration of whether a | |
durable or non-durable subscription should be used if the | |
destination-type is javax.jms.Topic. | |
Used in: message-driven | |
--> | |
<xs:element name="message-driven-destination"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element ref="destination-type"/> | |
<xs:element minOccurs="0" ref="subscription-durability"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The message-selector element is used to specify the JMS message | |
selector to be used in determining which messages a message-driven | |
bean is to receive. | |
Example: | |
<message-selector>JMSType = `car' AND color = `blue' AND weight > 2500 | |
</message-selector> | |
Used in: message-driven | |
--> | |
<xs:element name="message-selector"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method element is used to denote a method of an enterprise | |
bean's home or component interface, or, in the case of a message-driven | |
bean, the bean's onMessage method, or a set of 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 in both the home and component interfaces; 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 the method element syntax: | |
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 home and component 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. | |
Used in: container-transaction, exclude-list, method-permission | |
Examples: | |
Style 1: The following method element refers to all the methods of | |
the EmployeeService bean's home and component 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 home and component interfaces with the same name and | |
signature. | |
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. | |
<method> | |
<ejb-name>EmployeeService</ejb-name> | |
<method-intf>Home</method-intf> | |
<method-name>*</method-name> | |
</method> | |
--> | |
<xs:element name="method"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="ejb-name"/> | |
<xs:element minOccurs="0" ref="method-intf"/> | |
<xs:element ref="method-name"/> | |
<xs:element minOccurs="0" ref="method-params"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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 component and home interfaces (e.g, in both an | |
enterprise bean's remote and local interfaces; in both an enterprise bean's | |
home and remote interfaces, etc.) | |
The method-intf element must be one of the following: | |
<method-intf>Home</method-intf> | |
<method-intf>Remote</method-intf> | |
<method-intf>LocalHome</method-intf> | |
<method-intf>Local</method-intf> | |
Used in: method | |
--> | |
<xs:element name="method-intf"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method-name element 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 component and home | |
interfaces. | |
Used in: method, query-method | |
--> | |
<xs:element name="method-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method-param element contains the fully-qualified Java type name | |
of a method parameter. | |
Used in: method-params | |
--> | |
<xs:element name="method-param"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method-params element contains a list of the fully-qualified Java | |
type names of the method parameters. | |
Used in: method, query-method | |
--> | |
<xs:element name="method-params"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="method-param"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The method-permission element specifies that one or more security | |
roles are allowed to invoke one or more enterprise bean methods. The | |
method-permission element 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-permission element must be | |
defined in the security-role elements of the deployment descriptor, | |
and the methods must be methods defined in the enterprise bean's | |
component and/or home interfaces. | |
Used in: assembly-descriptor | |
--> | |
<xs:element name="method-permission"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:choice> | |
<xs:element maxOccurs="unbounded" ref="role-name"/> | |
<xs:element ref="unchecked"/> | |
</xs:choice> | |
<xs:element maxOccurs="unbounded" ref="method"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The multiplicity element describes the multiplicity of the role that | |
participates in a relation. | |
The multiplicity element must be one of the two following: | |
<multiplicity>One</multiplicity> | |
<multiplicity>Many</multiplicity> | |
Used in: ejb-relationship-role | |
--> | |
<xs:element name="multiplicity"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The persistence-type element specifies an entity bean's persistence | |
management type. | |
The persistence-type element must be one of the two following: | |
<persistence-type>Bean</persistence-type> | |
<persistence-type>Container</persistence-type> | |
Used in: entity | |
--> | |
<xs:element name="persistence-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. | |
Used in: entity | |
Examples: | |
<prim-key-class>java.lang.String</prim-key-class> | |
<prim-key-class>com.wombat.empl.EmployeeID</prim-key-class> | |
<prim-key-class>java.lang.Object</prim-key-class> | |
--> | |
<xs:element name="prim-key-class"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. | |
Used in: entity | |
Example: | |
<primkey-field>EmployeeId</primkey-field> | |
--> | |
<xs:element name="primkey-field"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The query element is used to specify 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". | |
Used in: entity | |
--> | |
<xs:element name="query"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="query-method"/> | |
<xs:element minOccurs="0" ref="result-type-mapping"/> | |
<xs:element ref="ejb-ql"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The query-method element is used to specify 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. | |
Used in: query | |
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> | |
--> | |
<xs:element name="query-method"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element ref="method-name"/> | |
<xs:element ref="method-params"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The reentrant element specifies whether an entity bean is reentrant or | |
not. | |
The reentrant element must be one of the two following: | |
<reentrant>True</reentrant> | |
<reentrant>False</reentrant> | |
Used in: entity | |
--> | |
<xs:element name="reentrant"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The relationship-role-source element designates the source of a role | |
that participates in a relationship. A relationship-role-source | |
element uniquely identifies an entity bean. | |
Used in: ejb-relationship-role | |
--> | |
<xs:element name="relationship-role-source"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="ejb-name"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The relationships element describes the relationships in which | |
entity beans with container-managed persistence participate. The | |
relationships element contains an optional description; and a list of | |
ejb-relation elements, which specify the container managed | |
relationships. | |
Used in: ejb-jar | |
--> | |
<xs:element name="relationships"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element maxOccurs="unbounded" ref="ejb-relation"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The remote element contains the fully-qualified name of the enterprise | |
bean's remote interface. | |
Used in: ejb-ref, entity, session | |
Example: | |
<remote>com.wombat.empl.EmployeeService</remote> | |
--> | |
<xs:element name="remote"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The res-auth element specifies whether the enterprise bean code signs | |
on programmatically to the resource manager, or whether the Container | |
will sign on to the resource manager on behalf of the enterprise bean. In the | |
latter case, the Container uses information that is supplied by the | |
Deployer. | |
The value of this element must be one of the two following: | |
<res-auth>Application</res-auth> | |
<res-auth>Container</res-auth> | |
Used in: resource-ref | |
--> | |
<xs:element name="res-auth"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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 enterprise bean. | |
Used in: resource-ref | |
--> | |
<xs:element name="res-ref-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The res-sharing-scope element specifies whether connections obtained | |
through the given resource manager connection factory reference can be | |
shared. The value of this element, if specified, must be one of the | |
two following: | |
<res-sharing-scope>Shareable</res-sharing-scope> | |
<res-sharing-scope>Unshareable</res-sharing-scope> | |
The default value is Shareable. | |
Used in: resource-ref | |
--> | |
<xs:element name="res-sharing-scope"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The res-type element specifies the type of the data source. The type | |
is specified by the fully qualified Java language class or interface | |
expected to be implemented by the data source. | |
Used in: resource-ref | |
--> | |
<xs:element name="res-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The resource-env-ref element contains a declaration of an enterprise bean's | |
reference to an administered object associated with a resource | |
in the enterprise bean's environment. It consists of an optional | |
description, the resource environment reference name, and an | |
indication of the resource environment reference type expected by | |
the enterprise bean code. | |
Used in: entity, message-driven, session | |
Example: | |
<resource-env-ref> | |
<resource-env-ref-name>jms/StockQueue</resource-env-ref-name> | |
<resource-env-ref-type>javax.jms.Queue</resource-env-ref-type> | |
</resource-env-ref> | |
--> | |
<xs:element name="resource-env-ref"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="resource-env-ref-name"/> | |
<xs:element ref="resource-env-ref-type"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The resource-env-ref-name element specifies the name of a resource | |
environment reference; its value is the environment entry name used in | |
the enterprise bean code. The name is a JNDI name relative to the | |
java:comp/env context and must be unique within an enterprise bean. | |
Used in: resource-env-ref | |
--> | |
<xs:element name="resource-env-ref-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The resource-env-ref-type element specifies the type of a resource | |
environment reference. It is the fully qualified name of a Java | |
language class or interface. | |
Used in: resource-env-ref | |
--> | |
<xs:element name="resource-env-ref-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The resource-ref element contains a declaration of an enterprise bean's | |
reference to an external resource. It consists of an optional | |
description, the resource manager connection factory reference name, | |
the indication of the resource manager connection factory type | |
expected by the enterprise bean code, the type of authentication | |
(Application or Container), and an optional specification of the | |
shareability of connections obtained from the resource (Shareable or | |
Unshareable). | |
Used in: entity, message-driven, session | |
Example: | |
<resource-ref> | |
<res-ref-name>jdbc/EmployeeAppDB</res-ref-name> | |
<res-type>javax.sql.DataSource</res-type> | |
<res-auth>Container</res-auth> | |
<res-sharing-scope>Shareable</res-sharing-scope> | |
</resource-ref> | |
--> | |
<xs:element name="resource-ref"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="res-ref-name"/> | |
<xs:element ref="res-type"/> | |
<xs:element ref="res-auth"/> | |
<xs:element minOccurs="0" ref="res-sharing-scope"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The result-type-mapping element 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 result-type-mapping element must be one of the following: | |
<result-type-mapping>Local</result-type-mapping> | |
<result-type-mapping>Remote</result-type-mapping> | |
Used in: query | |
--> | |
<xs:element name="result-type-mapping"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The role-link element is a reference to a defined security role. The | |
role-link element must contain the name of one of the security roles | |
defined in the security-role elements. | |
Used in: security-role-ref | |
--> | |
<xs:element name="role-link"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The role-name element contains the name of a security role. | |
The name must conform to the lexical rules for an NMTOKEN. | |
Used in: method-permission, run-as, security-role, security-role-ref | |
--> | |
<xs:element name="role-name"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The run-as element specifies the run-as identity to be used for the | |
execution of the enterprise bean. It contains an optional description, and | |
the name of a security role. | |
Used in: security-identity | |
--> | |
<xs:element name="run-as"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="role-name"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The security-identity element 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. | |
Used in: entity, message-driven, session | |
--> | |
<xs:element name="security-identity"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:choice> | |
<xs:element ref="use-caller-identity"/> | |
<xs:element ref="run-as"/> | |
</xs:choice> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The security-role element contains the definition of a security | |
role. The definition consists of an optional description of the | |
security role, and the security role name. | |
Used in: assembly-descriptor | |
Example: | |
<security-role> | |
<description> | |
This role includes all employees who are authorized | |
to access the employee service application. | |
</description> | |
<role-name>employee</role-name> | |
</security-role> | |
--> | |
<xs:element name="security-role"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="role-name"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The security-role-ref element contains the declaration of a security | |
role reference in the enterprise bean's code. The declaration consists | |
of an optional description, the security role name used in the code, | |
and an optional link to a security role. If the security role is not | |
specified, the Deployer must choose an appropriate security role. | |
The value of the role-name element must be the String used as the | |
parameter to the EJBContext.isCallerInRole(String roleName) method | |
or the HttpServletRequest.isUserInRole(String role) method. | |
Used in: entity, session | |
--> | |
<xs:element name="security-role-ref"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element ref="role-name"/> | |
<xs:element minOccurs="0" ref="role-link"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The session element declares an session bean. The declaration consists | |
of: | |
- an optional description | |
- an optional display name | |
- an optional small icon file name | |
- an optional large icon file name | |
- a name assigned to the enterprise bean | |
in the deployment description | |
- the names of the session bean's remote home and | |
remote interfaces, if any | |
- the names of the session bean's local home and | |
local interfaces, if any | |
- the session bean's implementation class | |
- the session bean's state management type | |
- the session bean's transaction management type | |
- 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 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. | |
The elements that are optional are "optional" in the sense that they | |
are omitted when if lists represented by them are empty. | |
Either both the local-home and the local elements or both the | |
home and the remote elements must be specified for the session bean. | |
Used in: enterprise-beans | |
--> | |
<xs:element name="session"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" ref="description"/> | |
<xs:element minOccurs="0" ref="display-name"/> | |
<xs:element minOccurs="0" ref="small-icon"/> | |
<xs:element minOccurs="0" ref="large-icon"/> | |
<xs:element ref="ejb-name"/> | |
<xs:element minOccurs="0" ref="home"/> | |
<xs:element minOccurs="0" ref="remote"/> | |
<xs:element minOccurs="0" ref="local-home"/> | |
<xs:element minOccurs="0" ref="local"/> | |
<xs:element ref="ejb-class"/> | |
<xs:element ref="session-type"/> | |
<xs:element ref="transaction-type"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="env-entry"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ejb-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ejb-local-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="security-role-ref"/> | |
<xs:element minOccurs="0" ref="security-identity"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-ref"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-env-ref"/> | |
</xs:sequence> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The session-type element describes whether the session bean is a | |
stateful session or stateless session. | |
The session-type element must be one of the two following: | |
<session-type>Stateful</session-type> | |
<session-type>Stateless</session-type> | |
--> | |
<xs:element name="session-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The small-icon element contains the name of a file | |
containing a small (16 x 16) icon image. The file | |
name is a relative path within the enterprise bean's | |
ejb-jar file. | |
The image may be either in the JPEG or GIF format. | |
The icon can be used by tools. | |
Used in: ejb-jar, entity, message-driven, session | |
Example: | |
<small-icon>employee-service-icon16x16.jpg</small-icon> | |
--> | |
<xs:element name="small-icon"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The subscription-durability element specifies whether a JMS topic | |
subscription is intended to be durable or nondurable. | |
The subscription-durability element must be one of the two following: | |
<subscription-durability>Durable</subscription-durability> | |
<subscription-durability>NonDurable</subscription-durability> | |
Used in: message-driven-destination | |
--> | |
<xs:element name="subscription-durability"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The trans-attribute element specifies how the container must manage | |
the transaction boundaries when delegating a method invocation to an | |
enterprise bean's business method. | |
The value of trans-attribute must be one of the following: | |
<trans-attribute>NotSupported</trans-attribute> | |
<trans-attribute>Supports</trans-attribute> | |
<trans-attribute>Required</trans-attribute> | |
<trans-attribute>RequiresNew</trans-attribute> | |
<trans-attribute>Mandatory</trans-attribute> | |
<trans-attribute>Never</trans-attribute> | |
Used in: container-transaction | |
--> | |
<xs:element name="trans-attribute"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The transaction-type element specifies an enterprise bean's | |
transaction management type. | |
The transaction-type element must be one of the two following: | |
<transaction-type>Bean</transaction-type> | |
<transaction-type>Container</transaction-type> | |
Used in: message-driven, session | |
--> | |
<xs:element name="transaction-type"> | |
<xs:complexType mixed="true"> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
The unchecked element specifies that a method is not checked for authorization | |
by the container prior to invocation of the method. | |
Used in: method-permission | |
--> | |
<xs:element name="unchecked"> | |
<xs:complexType> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- | |
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. | |
Used in: security-identity | |
--> | |
<xs:element name="use-caller-identity"> | |
<xs:complexType> | |
<xs:attribute name="id" type="xs:ID"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:schema> | |
<!-- | |
The ID mechanism is to allow tools that produce additional deployment | |
information (i.e., information beyond the standard deployment | |
descriptor information) to store the non-standard information in a | |
separate file, and easily refer from these tool-specific files to the | |
information in the standard deployment descriptor. | |
Tools are not allowed to add the non-standard information into the | |
standard deployment descriptor. | |
--> |