<ejb-jar>
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.
<description>A short description</description>
A short description.
<display-name>A name</display-name>
The display-name element contains a short name that is intended to be display by tools.
<small-icon>employee-service-icon16x16.jpg</small-icon>
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.
<large-icon>employee-service-icon32x32.jpg</large-icon>
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.
<enterprise-beans>
The enterprise-beans element contains the declarations of one or more enterprise beans.
<session>
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 factory references. The elements that are optional are "optional" in the sense that they are omitted when if lists represented by them are empty.
<description>A short description</description>
A short description.
<display-name>A name</display-name>
The display-name element contains a short name that is intended to be display by tools.
<small-icon>employee-service-icon16x16.jpg</small-icon>
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.
<large-icon>employee-service-icon32x32.jpg</large-icon>
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.
<ejb-name>EmployeeService</ejb-name>
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.
<home>com.aardvark.payroll.PayrollHome</home>
The home element contains the fully-qualified name of the enterprise bean's home interface.
<remote>com.wombat.empl.EmployeeService</remote>
The remote element contains the fully-qualified name of the enterprise bean's remote interface.
<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
The ejb-class element contains the fully-qualified name of the enterprise bean's class.
<session-type>Stateful/Stateless</session-type>
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: Stateful or Stateless.
<transaction-type>Bean/Container</transaction-type>
The transaction-type element must be one of the two following: Bean or Container.
<transaction-scope>Local|Distributed</transaction-scope>
The transaction-scope element specifies whether an enterprise bean requires that distributed transactions must be used for its methods of whether the local transaction optimization may be used. The transaction-scope element must be one of the two following: Local Distributed The transaction-scope element is optional. If it is not specified, the container must assume that distributed transactions must be used.
<env-entry>
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.
<description>A short description</description>
A short description.
<env-entry-name>minAmount</env-entry-name>
The env-entry-name element contains the name of an enterprise bean's environment entry.
<env-entry-type>java.lang.String</env-entry-type>
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.
<env-entry-value>100.00</env-entry-value>
The env-entry-value element contains the value of an enterprise bean's environment entry.
<ejb-ref>
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.
<description>A short description</description>
A short description.
<ejb-ref-name>ejb/Payroll</ejb-ref-name>
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/".
<ejb-ref-type>Entity|Session</ejb-ref-type>
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: Entity Session
<home>com.aardvark.payroll.PayrollHome</home>
The home element contains the fully-qualified name of the enterprise bean's home interface.
<remote>com.wombat.empl.EmployeeService</remote>
The remote element contains the fully-qualified name of the enterprise bean's remote interface.
<ejb-link>EmployeeRecord</ejb-link>
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.
<security-role-ref>
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.
<description>A short description</description>
A short description.
<role-name>name</role-name>
The role-name element contains the name of a security role. The name must conform to the lexical rules for an NMTOKEN.
<role-link>name</role-link>
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.
<security-identity>
The security-identity element specifies whether the caller's security identity is to be used for the execution of the methods of the enter-prise bean or whether a specific run-as identity is to be used.
<description>A short description</description>
A short description.
<use-caller-identity>myRole</use-caller-identity>
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.
<run-as-specified-identity>
The run-as-specified-identity element specifies the run-as identity to be used for the execution of the methods of an enterprise bean.
<description>A short description</description>
A short description.
<role-name>name</role-name>
The role-name element contains the name of a security role. The name must conform to the lexical rules for an NMTOKEN.
<resource-ref>
The resource-ref element contains a declaration of enterprise bean's reference to an external resource. It consists of an optional description, the resource factory reference name, the indication of the resource factory type expected by the enterprise bean code, and the type of authentication (bean or container).
<description>A short description</description>
A short description.
<res-ref-name>name</res-ref-name>
The res-ref-name element specifies the name of a resource factory reference.
<res-type>javax.sql.DataSource</res-type>
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.
<res-auth>Application/Container</res-auth>
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: Application or Container
<resource-env-ref>
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 indica-tion of the resource environment reference type expected by the enter-prise bean code. Used in: entity, message-driven and session Examples: jms/StockQueue javax.jms.Queue
<description>A short description</description>
A short description.
<resource-env-ref-name>theName</resource-env-ref-name>
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.
<resource-env-ref-type>com.the.Type</resource-env-ref-type>
The resource-env-ref-type element specifies the type of a resource environment reference.
<entity>
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 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.
<description>A short description</description>
A short description.
<display-name>A name</display-name>
The display-name element contains a short name that is intended to be display by tools.
<small-icon>employee-service-icon16x16.jpg</small-icon>
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.
<large-icon>employee-service-icon32x32.jpg</large-icon>
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.
<ejb-name>EmployeeService</ejb-name>
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.
<home>com.aardvark.payroll.PayrollHome</home>
The home element contains the fully-qualified name of the enterprise bean's home interface.
<remote>com.wombat.empl.EmployeeService</remote>
The remote element contains the fully-qualified name of the enterprise bean's remote interface.
<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
The ejb-class element contains the fully-qualified name of the enterprise bean's class.
<persistence-type>Bean|Container</persistence-type>
The persistence-type element specifies an entity bean's persistence management type. The persistence-type element must be one of the two following: Bean or Container.
<prim-key-class>com.wombat.empl.EmployeeID</prim-key-class>
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.
<reentrant>True/False</reentrant>
The reentrant element specifies whether an entity bean is reentrant or not. The reentrant element must be one of the two following: True or False
<cmp-version>1.x|2.x</cmp-version>
The cmp-version element specifies the version of an entity bean with container-managed persistence. The following are the legal values of the cmp-version element: 1.x and 2.x. The default value of the cmp-version element is 2.x.
<abstract-schema-name>OrderBean</abstract-schema-name>
The abstract-schema-name element specifies the name of the abstract schema 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 might be OrderBean if its entity bean class is com.acme.commerce.OrderBean.
<cmp-field>
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.
<description>A short description</description>
A short description.
<field-name>firstName</field-name>
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.
<primkey-field>fieldName</primkey-field>
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.
<transaction-scope>Local|Distributed</transaction-scope>
The transaction-scope element specifies whether an enterprise bean requires that distributed transactions must be used for its methods of whether the local transaction optimization may be used. The transaction-scope element must be one of the two following: Local Distributed The transaction-scope element is optional. If it is not specified, the container must assume that distributed transactions must be used.
<env-entry>
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.
<description>A short description</description>
A short description.
<env-entry-name>minAmount</env-entry-name>
The env-entry-name element contains the name of an enterprise bean's environment entry.
<env-entry-type>java.lang.String</env-entry-type>
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.
<env-entry-value>100.00</env-entry-value>
The env-entry-value element contains the value of an enterprise bean's environment entry.