ejb-jar_1_1.dtd: Elements - Entities - Source | Intro - Index
FRAMES / NO FRAMES

ejb-jar_1_1.dtd

Copyright 1999 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, CA 94303, U.S.A. All rights reserved.

This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or documentation may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any.

Third party software, including font technology, is copyrighted and licensed from Sun suppliers.

Sun, Sun Microsystems, the Sun Logo, Solaris, Java, JavaServer Pages, Java Naming and Directory Interface, JDBC, JDK, JavaMail and Enterprise JavaBeans, are trademarks or registered trademarks of Sun Microsystems, Inc in the U.S. and other countries.

All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.

PostScript is a registered trademark of Adobe Systems, Inc.

Federal Acquisitions: Commercial Software - Government Users Subject to Standard License Terms and Conditions.

DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.

_________________________________________________________________________ Copyright 1999 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303, Etats-Unis. Tous droits re'serve's.

Ce produit ou document est prote'ge' par un copyright et distribue' avec des licences qui en restreignent l'utilisation, la copie, la distribution, et la de'compilation. Aucune partie de ce produit ou de sa documentation associe'e ne peut e^tre reproduite sous aucune forme, par quelque moyen que ce soit, sans l'autorisation pre'alable et e'crite de Sun et de ses bailleurs de licence, s'il y en a.

Le logiciel de'tenu par des tiers, et qui comprend la technologie relative aux polices de caracte`res, est prote'ge' par un copyright et licencie' par des fournisseurs de Sun.

Sun, Sun Microsystems, le logo Sun, Solaris, Java, JavaServer Pages, Java Naming and Directory Interface, JDBC, JDK, JavaMail, et Enterprise JavaBeans, sont des marques de fabrique ou des marques de'pose'es de Sun Microsystems, Inc. aux Etats-Unis et dans d'autres pays.

Toutes les marques SPARC sont utilise'es sous licence et sont des marques de fabrique ou des marques de'pose'es de SPARC International, Inc. aux Etats-Unis et dans d'autres pays. Les produits portant les marques SPARC sont base's sur une architecture de'veloppe'e par Sun Microsystems, Inc.

Postcript est une marque enregistre'e d'Adobe Systems Inc.

LA DOCUMENTATION EST FOURNIE "EN L'ETAT" ET TOUTES AUTRES CONDITIONS, DECLARATIONS ET GARANTIES EXPRESSES OU TACITES SONT FORMELLEMENT EXCLUES, DANS LA MESURE AUTORISEE PAR LA LOI APPLICABLE, Y COMPRIS NOTAMMENT TOUTE GARANTIE IMPLICITE RELATIVE A LA QUALITE MARCHANDE, A L'APTITUDE A UNE UTILISATION PARTICULIERE OU A L'ABSENCE DE CONTREFACON.



<assembly-descriptor> Child of ejb-jar

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, and the definition of transaction attributes for enterprise beans with container-managed transaction demarcation.

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

<assembly-descriptor>'s children
NameCardinality
container-transactionAny number
method-permissionAny number
security-roleAny number
<assembly-descriptor>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(security-role*, method-permission*, container-transaction*)


<cmp-field> Child of entity

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

<cmp-field>'s children
NameCardinality
descriptionOne or none
field-nameOnly one
<cmp-field>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, field-name)


<container-transaction> Child of assembly-descriptor

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

<container-transaction>'s children
NameCardinality
descriptionOne or none
methodAt least one
trans-attributeOnly one
<container-transaction>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, method+, trans-attribute)


<description> Child of entity, container-transaction, ejb-jar, cmp-field, method, method-permission, security-role, resource-ref, session, security-role-ref, ejb-ref, env-entry

The description element is used by the ejb-jar file producer to provide text describing the parent element.

The description element should include any information that the ejb-jar file producer wants to provide to the consumer of the ejb-jar file (i.e. to the Deployer). Typically, the tools used by the ejb-jar file consumer will display the description when processing the parent element.

Used in: cmp-field, container-transaction, ejb-jar, entity, env-entry, ejb-ref, method, method-permission, resource-ref, security-role, security-role-ref, and session.

<description>'s attributes
NameValuesDefault
idMatch the ID rules.

<display-name> Child of entity, ejb-jar, session

The display-name element contains a short name that is intended to be display by tools.

Used in: ejb-jar, session, and entity

Example: <display-name>Employee Self Service</display-name>

<display-name>'s attributes
NameValuesDefault
idMatch the ID rules.

<ejb-class> Child of entity, session

The ejb-class element contains the fully-qualified name of the enterprise bean's class.

Used in: entity and session

Example: <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>

<ejb-class>'s attributes
NameValuesDefault
idMatch the ID rules.

<ejb-client-jar> Child of ejb-jar

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. The Deployer should make the ejb-client JAR file accessible to the client's class-loader.

Used in: ejb-jar

Example: <ejb-client-jar>employee_service_client.jar</ejb-client-jar>

<ejb-client-jar>'s attributes
NameValuesDefault
idMatch the ID rules.

<ejb-jar> Root element

The ejb-jar element is the root element of the EJB deployment descriptor. It contains an optional description of the ejb-jar file, optional display name, optional small icon file name, optional large icon file name, mandatory structural information about all included enterprise beans, optional application-assembly descriptor, and an optional name of an ejb-client-jar file for the ejb-jar.

<ejb-jar>'s children
NameCardinality
assembly-descriptorOne or none
descriptionOne or none
display-nameOne or none
ejb-client-jarOne or none
enterprise-beansOnly one
large-iconOne or none
small-iconOne or none
<ejb-jar>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, display-name?, small-icon?, large-icon?, enterprise-beans, assembly-descriptor?, ejb-client-jar?)


<ejb-link> Child of ejb-ref

The ejb-link element is used in the ejb-ref element to specify that an EJB reference is linked to another enterprise bean in the ejb-jar file.

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.

Used in: ejb-ref

Example: <ejb-link>EmployeeRecord</ejb-link>

<ejb-link>'s attributes
NameValuesDefault
idMatch the ID rules.

<ejb-name> Child of entity, method, session

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.

The enterprise bean code does not depend on the name; therefore the name can be changed during the application-assembly process without breaking the enterprise bean's function.

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 must conform to the lexical rules for an NMTOKEN.

Used in: entity, method, and session

Example: <ejb-name>EmployeeService</ejb-name>

<ejb-name>'s attributes
NameValuesDefault
idMatch the ID rules.

<ejb-ref> Child of entity, session

The ejb-ref element is used for the declaration of a reference to another enterprise bean's home. The declaration consists of an optional description; the EJB reference name used in the code of the referencing enterprise bean; the expected type of the referenced enterprise bean; the expected home and remote interfaces of the referenced enterprise bean; and an optional ejb-link information.

The optional ejb-link element is used to specify the referenced enterprise bean. It is used typically in ejb-jar files that contain an assembled application.

Used in: entity and session

<ejb-ref>'s children
NameCardinality
descriptionOne or none
ejb-linkOne or none
ejb-ref-nameOnly one
ejb-ref-typeOnly one
homeOnly one
remoteOnly one
<ejb-ref>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, ejb-ref-name, ejb-ref-type, home, remote, ejb-link?)


<ejb-ref-name> Child of ejb-ref

The ejb-ref-name element contains the name of an EJB reference. The EJB reference is an entry in the enterprise bean's environment.

It is recommended that name is prefixed with "ejb/".

Used in: ejb-ref

Example: <ejb-ref-name>ejb/Payroll</ejb-ref-name>

<ejb-ref-name>'s attributes
NameValuesDefault
idMatch the ID rules.

<ejb-ref-type> Child of ejb-ref

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-ref

<ejb-ref-type>'s attributes
NameValuesDefault
idMatch the ID rules.

<enterprise-beans> Child of ejb-jar

The enterprise-beans element contains the declarations of one or more enterprise beans.

<enterprise-beans>'s children
NameCardinality
entityAny number
sessionAny number
<enterprise-beans>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(session | entity)+


<entity> Child of enterprise-beans

The entity element declares an entity bean. The declaration consists of: an optional description; optional display name; optional small icon file name; optional large icon file name; a name assigned to the enterprise bean in the deployment descriptor; the names of the entity bean's home and remote interfaces; 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 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 security role references; and an optional declaration of the bean's resource manager connection factory references.

The optional primkey-field may be present in the descriptor if the entity's persistency-type is Container.

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 persistency-type is Container, and none must not be present if the entity's persistence-type is Bean.

Used in: enterprise-beans

<entity>'s children
NameCardinality
cmp-fieldAny number
descriptionOne or none
display-nameOne or none
ejb-classOnly one
ejb-nameOnly one
ejb-refAny number
env-entryAny number
homeOnly one
large-iconOne or none
persistence-typeOnly one
prim-key-classOnly one
primkey-fieldOne or none
reentrantOnly one
remoteOnly one
resource-refAny number
security-role-refAny number
small-iconOne or none
<entity>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, display-name?, small-icon?, large-icon?, ejb-name, home, remote, ejb-class, persistence-type, prim-key-class, reentrant, cmp-field*, primkey-field?, env-entry*, ejb-ref*, security-role-ref*, resource-ref*)


<env-entry> Child of entity, session

The env-entry element contains the declaration of an enterprise bean's environment entries. The declaration consists of an optional description, the name of the environment entry, and an optional value.

Used in: entity and session

<env-entry>'s children
NameCardinality
descriptionOne or none
env-entry-nameOnly one
env-entry-typeOnly one
env-entry-valueOne or none
<env-entry>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, env-entry-name, env-entry-type, env-entry-value?)


<env-entry-name> Child of env-entry

The env-entry-name element contains the name of an enterprise bean's environment entry.

Used in: env-entry

Example: <env-entry-name>minAmount</env-entry-name>

<env-entry-name>'s attributes
NameValuesDefault
idMatch the ID rules.

<env-entry-type> Child of env-entry

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.String, java.lang.Integer, java.lang.Double, java.lang.Byte, java.lang.Short, java.lang.Long, and java.lang.Float.

Used in: env-entry

Example: <env-entry-type>java.lang.Boolean</env-entry-type>

<env-entry-type>'s attributes
NameValuesDefault
idMatch the ID rules.

<env-entry-value> Child of env-entry

The env-entry-value element contains the value of an enterprise bean's environment entry.

Used in: env-entry

Example: <env-entry-value>100.00</env-entry-value>

<env-entry-value>'s attributes
NameValuesDefault
idMatch the ID rules.

<field-name> Child of cmp-field

The field-name element specifies the name of a container managed field. The name must be a public field of the enterprise bean class or one of its superclasses.

Used in: cmp-field

Example: <field-name>firstName</field-Name>

<field-name>'s attributes
NameValuesDefault
idMatch the ID rules.

<home> Child of entity, session, ejb-ref

The home element contains the fully-qualified name of the enterprise bean's home interface.

Used in: ejb-ref, entity, and session

Example: <home>com.aardvark.payroll.PayrollHome</home>

<home>'s attributes
NameValuesDefault
idMatch the ID rules.

<large-icon> Child of entity, ejb-jar, session

The large-icon element contains the name of a file containing a large (32 x 32) icon image. The file name is relative path within the ejb-jar file.

The image must be either in the JPEG or GIF format, and the file name must end with the suffix ".jpg" or ".gif" respectively. The icon can be used by tools.

Example: <large-icon>employee-service-icon32x32.jpg</large-icon>

<large-icon>'s attributes
NameValuesDefault
idMatch the ID rules.

<method> Child of container-transaction, method-permission

The method element is used to denote a method of an enterprise bean's home or remote interface, or a set of methods. The ejb-name element must be the name of one of the enterprise beans in declared in the deployment descriptor; the optional method-intf element allows to distinguish between a method with the same signature that is defined in both the home and remote interface; 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 remote 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[][]).

Used in: method-permission and container-transaction

Examples:

Style 1: The following method element refers to all the methods of the EmployeeService bean's home and remote 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:

<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.

<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 defined in the home interface and a method with the same name and signature that is defined in the remote interface.

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 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>

<method>'s children
NameCardinality
descriptionOne or none
ejb-nameOnly one
method-intfOne or none
method-nameOnly one
method-paramsOne or none
<method>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, ejb-name, method-intf?, method-name, method-params?)


<method-intf> Child of method

The method-intf element allows a method element to differentiate between the methods with the same name and signature that are defined in both the remote and home interfaces.

The method-intf element must be one of the following: <method-intf>Home</method-intf> <method-intf>Remote</method-intf>

Used in: method

<method-intf>'s attributes
NameValuesDefault
idMatch the ID rules.

<method-name> Child of method

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 remote and home interfaces.

Used in: method

<method-name>'s attributes
NameValuesDefault
idMatch the ID rules.

<method-param> Child of method-params

The method-param element contains the fully-qualified Java type name of a method parameter.

Used in: method-params

<method-param>'s attributes
NameValuesDefault
idMatch the ID rules.

<method-params> Child of method

The method-params element contains a list of the fully-qualified Java type names of the method parameters.

Used in: method

<method-params>'s children
NameCardinality
method-paramAny number
<method-params>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(method-param*)


<method-permission> Child of assembly-descriptor

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, and a list of method elements.

The security roles used in the method-permission element must be defined in the security-role element of the deployment descriptor, and the methods must be methods defined in the enterprise bean's remote and/or home interfaces.

Used in: assembly-descriptor

<method-permission>'s children
NameCardinality
descriptionOne or none
methodAt least one
role-nameAt least one
<method-permission>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, role-name+, method+)


<persistence-type> Child of entity

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

<persistence-type>'s attributes
NameValuesDefault
idMatch the ID rules.

<prim-key-class> Child of entity

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>

<prim-key-class>'s attributes
NameValuesDefault
idMatch the ID rules.

<primkey-field> Child of entity

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>

<primkey-field>'s attributes
NameValuesDefault
idMatch the ID rules.

<reentrant> Child of entity

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

<reentrant>'s attributes
NameValuesDefault
idMatch the ID rules.

<remote> Child of entity, session, ejb-ref

The remote element contains the fully-qualified name of the enterprise bean's remote interface.

Used in: ejb-ref, entity, and session

Example: <remote>com.wombat.empl.EmployeeService</remote>

<remote>'s attributes
NameValuesDefault
idMatch the ID rules.

<res-auth> Child of resource-ref

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 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>

<res-auth>'s attributes
NameValuesDefault
idMatch the ID rules.

<res-ref-name> Child of resource-ref

The res-ref-name element specifies the name of a resource manager connection factory reference.

Used in: resource-ref

<res-ref-name>'s attributes
NameValuesDefault
idMatch the ID rules.

<res-type> Child of resource-ref

The res-type element specifies the type of the data source. The type is specified by the Java interface (or class) expected to be implemented by the data source.

Used in: resource-ref

<res-type>'s attributes
NameValuesDefault
idMatch the ID rules.

<resource-ref> Child of entity, session

The resource-ref element contains a declaration of 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, and the type of authentication (bean or container).

Used in: entity and session

Example: <resource-ref> <res-ref-name>EmployeeAppDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

<resource-ref>'s children
NameCardinality
descriptionOne or none
res-authOnly one
res-ref-nameOnly one
res-typeOnly one
<resource-ref>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, res-ref-name, res-type, res-auth)


<role-link> Child of security-role-ref

The role-link element is used to link a security role 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

<role-link>'s attributes
NameValuesDefault
idMatch the ID rules.

<role-name> Child of method-permission, security-role, security-role-ref

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, security-role, and security-role-ref

<role-name>'s attributes
NameValuesDefault
idMatch the ID rules.

<security-role> Child of assembly-descriptor

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>

<security-role>'s children
NameCardinality
descriptionOne or none
role-nameOnly one
<security-role>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, role-name)


<security-role-ref> Child of entity, session

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 defined security role.

The value of the role-name element must be the String used as the parameter to the EJBContext.isCallerInRole(String roleName) method.

The value of the role-link element must be the name of one of the security roles defined in the security-role elements.

Used in: entity and session

<security-role-ref>'s children
NameCardinality
descriptionOne or none
role-linkOne or none
role-nameOnly one
<security-role-ref>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, role-name, role-link?)


<session-type> Child of session

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>

<session-type>'s attributes
NameValuesDefault
idMatch the ID rules.

<session> Child of enterprise-beans

The session element declares an session bean. The declaration consists of: an optional description; optional display name; optional small icon file name; optional large icon file name; a name assigned to the enterprise bean in the deployment description; the names of the session bean's home and remote interfaces; 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 security role references; and an optional declaration of the bean's resource manager connection factory references.

The elements that are optional are "optional" in the sense that they are omitted when if lists represented by them are empty.

Used in: enterprise-beans

<session>'s children
NameCardinality
descriptionOne or none
display-nameOne or none
ejb-classOnly one
ejb-nameOnly one
ejb-refAny number
env-entryAny number
homeOnly one
large-iconOne or none
remoteOnly one
resource-refAny number
security-role-refAny number
session-typeOnly one
small-iconOne or none
transaction-typeOnly one
<session>'s attributes
NameValuesDefault
idMatch the ID rules.
Element's model:

(description?, display-name?, small-icon?, large-icon?, ejb-name, home, remote, ejb-class, session-type, transaction-type, env-entry*, ejb-ref*, security-role-ref*, resource-ref*)


<small-icon> Child of entity, ejb-jar, session

The small-icon element contains the name of a file containing a small (16 x 16) icon image. The file name is relative path within the ejb-jar file.

The image must be either in the JPEG or GIF format, and the file name must end with the suffix ".jpg" or ".gif" respectively.

The icon can be used by tools.

Example: <small-icon>employee-service-icon16x16.jpg</small-icon>

<small-icon>'s attributes
NameValuesDefault
idMatch the ID rules.

<transaction-type> Child of session

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: session

<transaction-type>'s attributes
NameValuesDefault
idMatch the ID rules.

<trans-attribute> Child of container-transaction

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

<trans-attribute>'s attributes
NameValuesDefault
idMatch the ID rules.

@id Attribute of assembly-descriptor

The ID mechanism is to allow tools that produce additional deployment information (i.e information beyond the standard EJB deployment descriptor information) to store the non-standard information in a separate file, and easily refer from these tools-specific files to the information in the standard deployment descriptor.

The EJB architecture does not allow the tools to add the non-standard information into the EJB deployment descriptor.

Possible values: Match the ID rules.


@id Attribute of cmp-field

Element identifier.

Possible values: Match the ID rules.


@id Attribute of container-transaction

Element identifier.

Possible values: Match the ID rules.


@id Attribute of description

Element identifier.

Possible values: Match the ID rules.


@id Attribute of display-name

Element identifier.

Possible values: Match the ID rules.


@id Attribute of ejb-class

Element identifier.

Possible values: Match the ID rules.


@id Attribute of ejb-client-jar

Element identifier.

Possible values: Match the ID rules.


@id Attribute of ejb-jar

Element identifier.

Possible values: Match the ID rules.


@id Attribute of ejb-link

Element identifier.

Possible values: Match the ID rules.


@id Attribute of ejb-name

Element identifier.

Possible values: Match the ID rules.


@id Attribute of ejb-ref

Element identifier.

Possible values: Match the ID rules.


@id Attribute of ejb-ref-name

Element identifier.

Possible values: Match the ID rules.


@id Attribute of ejb-ref-type

Element identifier.

Possible values: Match the ID rules.


@id Attribute of enterprise-beans

Element identifier.

Possible values: Match the ID rules.


@id Attribute of entity

Element identifier.

Possible values: Match the ID rules.


@id Attribute of env-entry

Element identifier.

Possible values: Match the ID rules.


@id Attribute of env-entry-name

Element identifier.

Possible values: Match the ID rules.


@id Attribute of env-entry-type

Element identifier.

Possible values: Match the ID rules.


@id Attribute of env-entry-value

Element identifier.

Possible values: Match the ID rules.


@id Attribute of field-name

Element identifier.

Possible values: Match the ID rules.


@id Attribute of home

Element identifier.

Possible values: Match the ID rules.


@id Attribute of large-icon

Element identifier.

Possible values: Match the ID rules.


@id Attribute of method

Element identifier.

Possible values: Match the ID rules.


@id Attribute of method-intf

Element identifier.

Possible values: Match the ID rules.


@id Attribute of method-name

Element identifier.

Possible values: Match the ID rules.


@id Attribute of method-param

Element identifier.

Possible values: Match the ID rules.


@id Attribute of method-params

Element identifier.

Possible values: Match the ID rules.


@id Attribute of method-permission

Element identifier.

Possible values: Match the ID rules.


@id Attribute of persistence-type

Element identifier.

Possible values: Match the ID rules.


@id Attribute of prim-key-class

Element identifier.

Possible values: Match the ID rules.


@id Attribute of primkey-field

Element identifier.

Possible values: Match the ID rules.


@id Attribute of reentrant

Element identifier.

Possible values: Match the ID rules.


@id Attribute of remote

Element identifier.

Possible values: Match the ID rules.


@id Attribute of res-auth

Element identifier.

Possible values: Match the ID rules.


@id Attribute of res-ref-name

Element identifier.

Possible values: Match the ID rules.


@id Attribute of res-type

Element identifier.

Possible values: Match the ID rules.


@id Attribute of resource-ref

Element identifier.

Possible values: Match the ID rules.


@id Attribute of role-link

Element identifier.

Possible values: Match the ID rules.


@id Attribute of role-name

Element identifier.

Possible values: Match the ID rules.


@id Attribute of security-role

Element identifier.

Possible values: Match the ID rules.


@id Attribute of security-role-ref

Element identifier.

Possible values: Match the ID rules.


@id Attribute of session-type

Element identifier.

Possible values: Match the ID rules.


@id Attribute of session

Element identifier.

Possible values: Match the ID rules.


@id Attribute of small-icon

Element identifier.

Possible values: Match the ID rules.


@id Attribute of transaction-type

Element identifier.

Possible values: Match the ID rules.


@id Attribute of trans-attribute

Element identifier.

Possible values: Match the ID rules.