<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.
<dependents>
The dependents element contains the declaration of one or more dependent object classes that are used (directly or indirectly) in relationships with entity beans with container managed persistence.
<description>A short description</description>
A short description.
<dependent>
The dependent element specifies a dependent object class of an entity bean with container managed persistence. The element consists of the dependent object's class; the unique name that is used for the dependent object class; and the fields that are persisted by the container on its behalf. Example: com.acme.Address Address street city zip country
<description>A short description</description>
A short description.
<dependent-class>TheDependentClass</dependent-class>
The dependent-class element contains the fully qualified name of the dependent object class.
<dependent-name>dependentName</dependent-name>
The dependent-name element specifies a name that uniquely designates a dependent object class.
<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.
<relationships>
The relationships element describes the relationships that the con-tainer managed persistence entity beans and dependent objects partic-ipate in. This element must declare the references to entity beans and dependent classes that participate in container managed relationships by means of the ejb-entity-ref and dependent-ref elements, and spec-ify the container managed relationships in the ejb-relation elements.
<description>A short description</description>
A short description.
<ejb-entity-ref>
Like the ejb-ref element, the ejb-entity-ref element is used for declaring a reference to an enterprise bean's home and remote. How-ever, this element also contains the remote-ejb-name element, which provides a name for the remote entity bean. This name is used within relationships and EJB QL queries to refer to the entity bean specified by the ejb-entity-ref element. The ejb-ref-name element is provided to allow the container to locate the bean by using JNDI. Used in: relationships Example: This is a reference descriptor for an order bean which is used in product.jar OrderEJB ejb/Order com.commercewarehouse.catalog.OrderHome com.commercewarehouse.catalog.Order ../orders/orders.jar#OrderEJB
<description>A short description</description>
A short description.
<remote-ejb-name>nameOfRemoteEJB</remote-ejb-name>
The remote-ejb-name elements specifies the name of an entity bean which is not provided in the ejb-jar file. The name is used to designate a role in a relationship and declared by the ejb-entity-ref element.
<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/".
<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.
<ejb-relation>
The ejb-relation element describes a relationship between two entity-beans, between an entity bean and a dependent object class, or between two dependent object classes of an entity bean. An ejb-relation element contains exactly two role declarations, defined by the ejb-relationship-role elements. The name of the relationship is unique within the ejb-jar file and defined by the ejb-relation-name element.
<description>A short description</description>
A short description.
<ejb-relation-name>ejbRelationName</ejb-relation-name>
The ejb-relation-name element provides a name for a relationship.
<ejb-relationship-role>
The ejb-relationship-role element describes a role within a relation-ship. There are two roles in each relationship. The role-name, multiplicity and role-source are mandatory. The role-source element designates an entity-bean or dependent object class by means of an ejb-name, remote-ejb-name or dependent-name ele-ment. For bidirectional relationships, both roles of a relationship must declare a role-source element that specifies the 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 entity bean or the dependent class that participates in the relationship is "not aware" of the relationship and the relationship is unidirectional. Used in: ejb-relation Example: Product-LineItem product-has-lineitems one ProductEJB
<description>A short description</description>
A short description.
<ejb-relationship-role-name>ejbRelationshipRoleName</ejb-relationship-role-name>
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.
<multiplicity>one|many</multiplicity>
The multiplicity element describes the multiplicity of the role that participates in a relation. The multiplicity element must be one of the two following: one or many.
<role-source>
The role-source element designates the source of a role that participates in a relationship. A role-source element contains a reference which uniquely identifies an entity bean or dependent object class. The Bean Provider must ensure that the content of each role-source element refers to an existing entity bean, entity bean reference, or dependent object class.
<description>A short description</description>
A short description.
<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.
<remote-ejb-name>nameOfRemoteEJB</remote-ejb-name>
The remote-ejb-name elements specifies the name of an entity bean which is not provided in the ejb-jar file. The name is used to designate a role in a relationship and declared by the ejb-entity-ref element.
<dependent-name>dependentName</dependent-name>
The dependent-name element specifies a name that uniquely designates a dependent object class.
<cmr-field>
The cmr-field element describes the bean provider's view of a relationship. It consists of the name and the class type of a field in the source of a role of a relationship. The name of the field corresponds to the name used for the get and set accessor methods for the relationship. The cmr-field-type element must only be used to specify the type of collection for a one-to-many or many-to-many relationship.
<description>A short description</description>
A short description.
<cmr-field-name>nameOfField</cmr-field-name>
The cmr-field-name element specifies the name of a relationship field in the entity bean or the dependent object class. This field is accessed by methods whose names consists of the name of the field specified by cmr-field-name prefixed by "get" or "set".
<cmr-field-type>java.util.Collection|java.util.Set</cmr-field-type>
The cmr-field-type element specifies the class of a collection-valued relationship field in the entity bean or dependent class. The value of the cmr-field-type element must be either: java.util.Collection or java.util.Set.
<assembly-descriptor>
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.
<security-role>
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.
<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.
<method-permission>
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.
<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.
<method>
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[][]).
<description>A short description</description>
A short description.
<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.
<method-intf>Home/Remote</method-intf>
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: Home or Remote.
<method-name>nameOfMethod</method-name>
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.
<method-params>
The method-params element contains a list of the fully-qualified Java type names of the method parameters.
<method-param>int[]</method-param>
The method-param element contains the fully-qualified Java type name of a method parameter.
<container-transaction>
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.
<description>A short description</description>
A short description.
<method>
<description>A short description</description>
A short description.
<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.
<method-intf>Home/Remote</method-intf>
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: Home or Remote.
<method-name>nameOfMethod</method-name>
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.
<method-params>
The method-params element contains a list of the fully-qualified Java type names of the method parameters.
<method-param>int[]</method-param>
The method-param element contains the fully-qualified Java type name of a method parameter.
<trans-attribute>Supports</trans-attribute>
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: NotSupported, Supports, Required, RequiresNew, Mandatory or Never
<ejb-client-jar>employee_service_client.jar</ejb-client-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.