Skip Headers
Oracle® Containers for J2EE Enterprise JavaBeans Developer's Guide
10g Release 3 (10.1.3)
B14428-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

OC4J-Specific Deployment Descriptor for EJBs

The OC4J-specific deployment descriptor contains extended deployment information for session beans, entity beans, message driven beans, and security for these EJBs. The major element structure within this deployment descriptor has the following structure:

<orion-ejb-jar deployment-time=... deployment-version=...> 
 <enterprise-beans>
   <persistence-manager ...></persistence-manager>
   <session-deployment ...></session-deployment>
   <entity-deployment ...></entity-deployment>
   <message-driven-deployment ...></message-driven-deployment>
 </enterprise-beans>
 <assembly-descriptor>
   <security-role-mapping ...></security-role-mapping>
   <default-method-access></default-method-access>
 </assembly-descriptor>
</orion-ejb-jar>

Each section under the <orion-ejb-jar> main tag has its own purpose. These are described in the sections below:

Enterprise Beans Section

The <enterprise-beans> section defines additional deployment information for all EJBs: session beans, entity beans, and message driven beans. There is a section for each type of EJB.

The following sections describe the elements within <enterprise-beans> element;

Persistence Manager Section (persistence-manager)

The <persistence-manager> section provides additional deployment information for the TopLink persistence manager for EJB 2.1 applications only. The <persistence-manager> section contains the following structure:

<persistence-manager name=... class=... descriptor=... >
  <pm-properties>
    <session-name>...</session-name>
    <project-class>...</project-class>
    <db-platform-class>...</db-platform-class>
    <default-mapping db-table-gen=... >...</default-mapping>
    <remote-relationships>...</remote-relationships>
    <cache-synchronization mode=... >...</cache-synchronization>
    <customization-class>...</customization-class>
  </pm-properties>
</persistence-manager>

For more information on the attributes for the <persistence-manager> element, see:

Session Bean Section (session-deployment)

The <session-deployment> section provides additional deployment information for a session bean deployed within this JAR file. The <session-deployment> section contains the following structure:

<session-deployment pool-cache-timeout=... call-timeout=... copy-by-value=...
      location=... max-instances=... min-instances=... max-tx-retries=...
      tx-retry-wait=... name=... persistence-filename=... replication=...
      timeout=... idletime=... memory-threshold=... max-instances-threshold=...
      resource-check-interval=... passivate-count=... wrapper=...
      local-wrapper=...
  <ior-security-config>
    <transport-config>
      <integrity></integrity>
      <confidentiality></confidentiality>
      <establish-trust-in-target></establish-trust-in-target>
      <establish-trust-in-client></establish-trust-in-client>
    </transport-config>
    <as-context>
      <auth-method></auth-method>
      <realm></realm>
      <required></required>
    </as-context>
    <sas-context>
      <caller-propagation></caller-propagation>
    </sas-context>
  </ior-security-config>
  <env-entry-mapping name=...> </env-entry-mapping
  <ejb-ref-mapping location=... name=... />
  <resource-ref-mapping location=... name=... >
    <lookup-context location=...>
       <context-attribute name=... value=... />
    </lookup-context>
  </resource-ref-mapping>
  <resource-env-ref-mapping location=... name=... />
</session-deployment>

Table A-2 lists the attributes for the <session-deployment> element and indicates which are applicable to stateless session beans only, stateful session beans only, or both.

Each of the element groups are discussed in the following sections of the OC4J documentation set:

Table A-2 Attributes for <session-deployment> Element

Attribute Stateless Stateful Description

pool-cache-timeout

Supported
Unupported

The pool-cache-timeout applies for stateless session EJBs. This parameter specifies how long to keep stateless sessions cached in the pool.

For stateless session beans, if you specify a pool-cache-timeout, then at every pool-cache-timeout interval, all beans in the pool, of the corresponding bean type, are removed. If the value specified is zero or negative, then the pool-cache-timeout is disabled and beans are not removed from the pool.

Default Value: 60 (seconds)

call-timeout

Supported
Supported

This parameter specifies the maximum time to wait for any resource to make a business/life-cycle method invocation. This is not a timeout for how long a business method invocation can take.

If the timeout is reached, a TimedOutException is thrown. This excludes database connections.

Default Values: 90000 milliseconds. Set to 0 if you want the timeout to be forever. See the EJB section in the Oracle Application Server Performance Guide for more information.

copy-by-value

Supported
Supported

Whether or not to copy (clone) all the incoming and outgoing parameters in EJB calls. Set to 'false' if you are certain that your application does not assume copy-by-value semantics for a speed-up. The default is 'true'.

location

Supported
Supported

The JNDI-name to which this bean will be bound.

local-location

Supported
Supported

The local JNDI name to which this EJB will be bound.

max-instances

Supported
Supported

The number of bean instances allowed in memory—either instantiated or pooled. When this value is reached, the container attempts to passivate the oldest bean instance from memory. If unsuccessful, the container waits the number of milliseconds set in the call-timeout attribute to see if a bean instance is removed from memory, either through passivation, its remove method, or bean expiration, before a TimeoutExpiredException is thrown back to the client. To allow an infinite number of bean instances, the max-instances attribute can be set to zero. Default is 0, which means infinite. This applies to both stateless and stateful session beans.

To disable instance pooling, set max-instances to any negative number in the orion-ejb-jar.xml file. This will create a new instance at the start of the EJB call and release it at the end of the call.

min-instances

Supported
Unupported

The number of minimum bean implementation instances to be kept instantiated or pooled. The default is 0. This setting is valid for stateless session beans only.

max-tx-retries

Supported
Supported

This parameter specifies the number of times to retry a transaction that was rolled back due to system-level failures. The default is 0.

For a stateful session bean, if a RuntimeException, Error, or RemoteException is thrown, the OC4J does not do a retry.

Generally, we recommend that you add retries only where errors are seen that could be resolved through retries. For example, if you are using serializable isolation and you want to retry the transaction automatically if there is a conflict, you might want to use retries. However, if the bean wants to be notified when there is a conflict, then in this case, you should leave max-tx-retries=0.

See the EJB section in the Oracle Application Server Performance Guide for more information.

tx-retry-wait

Supported
Supported

This parameter specifies the time to wait in seconds between retrying the transaction. The default is 60 seconds.

name

Supported
Supported

The name of the bean, which matches the name of a bean in the assembly section of the EJB deployment descriptor (ejb-jar.xml).

persistence-filename

Unupported
Supported

Path to the file where sessions are stored across restarts.

timeout

Unupported


Supported

The maximum number of seconds that a stateful session bean may be inactive before being subject to pool clean up. If the value is zero or negative, then all timeouts are disabled.

Every 30 seconds the pool clean up logic is invoked. Within the pool clean up logic, only the sessions that timed out, by passing the timeout value, are deleted.

Adjust the timeout based on your applications use of stateful session beans. For example, if stateful session beans are not removed explicitly by your application, and the application creates many stateful session beans, then you may want to lower the timeout value.

If your application requires that a stateful session bean be available for longer than 1800 seconds (equal to 30 minutes), then adjust the timeout value accordingly.

Default Value: 1800 seconds

transaction-timeout

Supported
Supported

The maximum number of seconds that OC4J will wait for a transaction started by this stateless or stateful session bean to commit or rollback. If the value is zero or negative, the timeout is disabled.

idletime

Unupported


Supported

You can set an idle timeout for each bean. When this timeout expires, passivation occurs. Set this attribute to the appropriate number of seconds. Default: 300 seconds. (5 min.). To disable, specify "never."

memory-threshold

Unupported


Supported

This attribute defines a threshold for how much used JVM memory is allowed before passivation should occur. Specify an integer that is translated as a percentage. When reached, beans are passivated, even if their idle timeout has not expired. Default: 80%. To disable, specify "never."

max-instances-threshold

Unupported


Supported

Percentage of max-instances number of beans that can be in memory before passivation occurs.

Specify an integer that is translated as a percentage. If you define that the max-instances is 100 and the max-instances-threshold is 90%, then when the active bean instances is greater than or equal to 90, passivation of beans occurs. Default: 90%.

To disable, specify "never."

resource-check-interval

Unupported


Supported

The container checks all resources at this time interval. At this time, if any of the thresholds have been reached, passivation occurs. Default: 180 sec. (3 min.). To disable, specify "never."

passivate-count

Unupported


Supported

This attribute is an integer that defines the number of beans to be passivated if any of the resource thresholds have been reached. Passivation of beans is performed using the least recently used algorithm. Default: one-third of the max-instances attribute. You can disable this attribute by setting the count to zero or a negative number.

wrapper

Supported
Supported

Name of the OC4J wrapper class for this bean. This is an internal server value and should not be edited.

local-wrapper

Supported
Supported

Name of the OC4J local home wrapper class for this bean. This is an internal server value and should not be edited.

replication

Unupported


Supported

Configuration of the state replication for stateful session beans. Values can be inherited (default) onShutdown, onRequestEnd, or none. See "State Replication" for more information.


Entity Bean Section (entity-deployment)

The <entity-deployment> section provides additional deployment information for an entity bean deployed within this JAR file. The <entity-deployment> section contains the following structure:

<entity-deployment call-timeout=... clustering-schema=...
      copy-by-value=... data-source=... exclusive-write-access=...
      do-select-before-insert=... isolation=...
      location=... local-location=... locking-mode=... max-instances=... min-instances=... 
      max-tx-retries=... tx-retry-wait=... update-changed-fields-only=... 
      name=... pool-cache-timeout=...
      table=... validity-timeout=... force-update=... 
      wrapper=... local-wrapper=... delay-updates-until-commit=...
      findByPrimaryKey-lazy-loading=... >
  <ior-security-config>
    <transport-config>
      <integrity></integrity>
      <confidentiality></confidentiality>
      <establish-trust-in-target></establish-trust-in-target>
      <establish-trust-in-client></establish-trust-in-client>
    </transport-config>
    <as-context>
      <auth-method></auth-method>
      <realm></realm>
      <required></required>
    </as-context>
    <sas-context>
      <caller-propagation></caller-propagation>
    </sas-context>
  </ior-security-config>
  <primkey-mapping>
   <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
      persistence-type=...></cmp-field-mapping>
  </primkey-mapping>
  <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
      persistence-type=...> </cmp-field-mapping>
  <finder-method partial=... query=... lazy-loading=... prefetch-size=... >
   <method></method>
  </finder-method>
  <env-entry-mapping name=...></env-entry-mapping>
  <ejb-ref-mapping location=... name=... />
  <resource-ref-mapping location=... name=... >
    <lookup-context location=...>
       <context-attribute name=... value=... />
    </lookup-context>
  </resource-ref-mapping>
  <resource-env-ref-mapping location=... name=... />
</entity-deployment>

Table A-3 lists the attributes for the <entity-deployment> element.

Each of the element groups are discussed in the following sections of the OC4J documentation set:

  • Entity bean examples, which include the <entity-deployment> element (where relevant), are described in:

  • The <ior-security-config> element configures CSIv2 security policies for interoperability, which is discussed fully in the Interoperability chapter in the Oracle Containers for J2EE Services Guide.

  • The <primkey-mapping> element maps the primary key to the CMP field it represents. For more information, see:

  • The <cmp-field-mapping> element maps each <cmp-field> element to its database row. For more information, see "What are Container-Managed Persistence Fields?".

  • The <finder-method> element is used to create finder methods for EJB 1.1 entity beans. For more information on EJB 3.0 and EJB 2.1, see "How Do You Query for an EJB 2.1 Entity Bean?"

  • The <env-entry-mapping> element maps environment variables to JNDI names and is discussed in "Configuring an Environment Reference to an Environment Variable".

  • The <ejb-ref-mapping> element maps any EJB references to JNDI names and is discussed in "Configuring an Environment Reference to an EJB".

  • The <service-ref-mapping> element maps any EJB references to a web service and is discussed in "Configuring an Environment Reference to a Web Service"

  • The <resource-ref-mapping> element maps any EJB references to JNDI names and is discussed in "Resource Manager Connection Factory Environment References".

  • The <resource-env-ref-mapping> element is used to map an administered object for a resource. For example, to use JMS, the bean must obtain both a JMS factory object and a destination object. These objects are retrieved at the same time from JNDI. The <resource-ref> element declares the JMS factory and the <resource-env-ref> element is used to declare the destination. Thus, the <resource-env-ref-mapping> element maps the destination object. See "Resource Manager Connection Factory Environment References" for more information.

  • The <commit-option> element determines an entity bean instance's state at transaction commit time and offers the flexibility to allow OC4J to optimize certain application conditions and is discussed in "What are Entity Bean Commit Options?".

  • The <message-destination-ref-mapping> element maps logical destinations to resource adapter destinations.

    For example, in ejb-jar.xml a <message-destination> named DealerToPlayerMessages is declared. In file application-client.xml the <message-destination-ref> named jms/PlayerResponseDestination is linked to that <message-destination>, and in file ejb-jar.xml the <message-destination-ref> named jms/ToPlayerDest is also linked to that <message-destination>.

    Note that the <message-destination-type> for both of these is javax.jms.Topic. The deployer maps both of these <message-destination-ref>s to a resource adapter topic at JNDI location OracleASJMSRASubcontext/MyT by adding this to the orion-ejb-jar.xml file:

    <message-destination-ref-mapping
        location = "OracleASJMSRASubcontext/MyT"
        name = "jms/ToPlayerDest"/>
    

Table A-3 Attributes for <entity-deployment> Element

Attribute Description

call-timeout

This parameter specifies the maximum time to wait for any resource to make a business/life-cycle method invocation. This is not a timeout for how long a business method invocation can take.

If the timeout is reached, a TimedOutException is thrown. This excludes database connections.

Default Values: 90000 milliseconds. Set to 0 if you want the timeout to be forever. See the EJB section in the Oracle Application Server Performance Guide for more information.

clustering-schema

Do not use. Not needed in this release.

copy-by-value

Whether or not to copy (clone) all the incoming and outgoing parameters in EJB calls. Set to 'false' if you are certain that your application does not assume copy-by-value semantics for a speed-up. The default is 'true'.

data-source

The name of the data source used if using container-managed persistence.

exclusive-write-access

Whether or not the EJB-server has exclusive write (update) access to the database back-end. This can be used only for entity beans that use a "read_only" locking mode. In this case, it increases the performance for common bean operations and enables better caching.

This parameter corresponds to which commit option is used (A, B or C, as defined in the EJB specification). When exclusive-write-access = true, this is commit option A.

Default is false for beans with locking-mode=optimistic or pessimistic and true for locking-mode=read-only.

The exclusive-write-access is forced to false if locking is pessimistic or optimistic, and is not used with EJB clustering. The exclusive-write-access can be false with read-only locking, but read-only won't have any performance impact if exclusive-write-access=false, since ejbStores are already skipped when no fields have been changed. To see a performance advantage and avoid doing ejbLoads for read-only beans, you must also set exclusive-write-access=true.

See "Configuring Exclusive Write Access to the Database" for more information.

do-select-before-insert

If false, you avoid executing a select before an insert. The extra select normally checks to see if the entity already exists before doing the insert to avoid duplicates.

If a unique key constraint is defined for the entity, then we recommend setting this to false. If there is no unique key constraint, setting this to false leads to not detecting a duplicate insert. To prevent duplicate inserts in this case, leave it set to true.

For performance, Oracle recommends setting this to false to avoid the extra select before insert. Default Value: true

location

The JNDI-name to which this bean will be bound.

local-location

Defines the local JNDI name to which this EJB will be bound

isolation

Specifies the isolation-level for database actions. The valid values for Oracle databases are 'serializable' and 'committed'. The default is 'committed'. Non-Oracle databases can be the following: 'none', 'committed', 'serializable', 'uncommitted', and 'repeatable_read'.

For more information, see "How do You Avoid Database Resource Contention?" and Oracle Application Server Performance Guide.

locking-mode

This attribute applies only to Orion CMP.

For more information on TopLink CMP locking modes, see "Concurrency (Locking) Mode".

max-instances

The maximum number of bean implementation instances to be kept instantiated or pooled. The default is 0, which means infinite. See "Configuring Bean Instance Pool Size" for more information.

min-instances

The minimum number of bean implementation instances to be kept instantiated or pooled. The default is 0. See "Configuring Bean Instance Pool Size" for more information.

max-tx-retries

This parameter specifies the number of times to retry a transaction that was rolled back due to system-level failures. The default is 0.

Generally, we recommend that you add retries only where errors are seen that could be resolved through retries. For example, if you are using serializable isolation and you want to retry the transaction automatically if there is a conflict, you might want to use retries. However, if the bean wants to be notified when there is a conflict, then in this case, you should leave max-tx-retries=0.

Default Value: 0. See the EJB section in the Oracle Application Server Performance Guide for more information.

update-changed-fields-only

Specifies whether the container updates only modified fields or all fields to persistence storage for CMP entity beans when ejbStore is invoked. The default is true, which specifies to only update modified fields.

name

The name of the bean, which matches the name of a bean in the assembly section of the EJB deployment descriptor (ejb-jar.xml).

pool-cache-timeout

The amount of time in seconds that the bean implementation instances are to be kept in the "pooled" (unassigned) state, specifying 'never' retains the instances until they are garbage collected. The default is 60.

table

The name of the table in the database if using container-managed persistence.

validity-timeout

The maximum amount of time (in milliseconds) that an entity is valid in the cache (before being reloaded). Useful for loosely coupled environments where rare updates from legacy systems occur. This attribute is only valid for entity beans with locking mode of read_only and when exclusive-write-access="true" (the default).

We recommend that if the data is never being modified externally (and therefore you've set exclusive-write-access=true), that you can set this to 0 or -1, to disable this option, since the data in the cache will always be valid for read-only EJBs that are never modified externally.

If the EJB is generally not modified externally, so you're using exclusive-write-access=true, yet occasionally the table is updated so you need to update the cache occasionally, then set this to a value corresponding to the interval you think the data may be changing externally.

force-update

If OC4J does not believe that any of the persistence data has changed, the force-update attribute set to true means that OC4J will still execute the EJB lifecycle by invoking the ejbStore method. This manages data in transient fields and sets appropriate persistent fields during the ejbStore method. For example, an image might be kept in one format in memory, but stored in a different format in the database. The default is false.

wrapper

Name of the OC4J remote home wrapper class for this bean. This is an internal server value and should not be edited.

local-wrapper

Name of the OC4J local home wrapper class for this bean. This is an internal server value and should not be edited.

delay-updates-until-commit

This attribute is valid only for CMP entity beans. Defers the flushing of transactional data until commit time or not. The default is true. Set this value to false to update persistence data after completion of every EJB method invocation - except ejbRemove() and the finder methods.

findByPrimaryKey-lazy-loading

true or false

Default: true


Message Driven Bean Section (message-driven-deployment)

The <message-driven-deployment> section provides additional deployment information for a message driven bean deployed within this JAR file. The <message-driven-deployment> section contains the following structure:

<message-driven-deployment cache-timeout=... connection-factory-location=...       destination-location=... name=... subscription-name=...
      listener-threads=... transaction-timeout=...
      dequeue-retry-count=... dequeue-retry-interval=... >
  <env-entry-mapping name=...></env-entry-mapping>
  <ejb-ref-mapping location=... name=... />
  <resource-ref-mapping location=... name=... >
    <lookup-context location=...>
       <context-attribute name=... value=... />
    </lookup-context>
  </resource-ref-mapping>
  <resource-env-ref-mapping location=... name=... />
  <message-destination-ref-mapping location=... name=... />
  <config-property>
    <config-property-name> ... </config-property-name>
    <config-property-value> ... </config-property-value>
  </config-property>
</message-driven-deployment>

Table A-4 lists the attributes for the <message-driven-deployment> element and their J2CA message service provider resource adapter <config-property> equivalents (where appropriate).


Note:

J2CA message service provider resource adapters read only certain <message-driven-deployment> attributes (see Table A-4) and ignore all other attributes. For these other attributes, use the resource adapter equivalent <config-property> given in Table A-4.

Each of the element groups are discussed in the following sections of the OC4J documentation set:

Table A-4 Attributes for <message-driven-deployment> Element

Attribute <config-property> Equivalent Description

connection-factory- location

ConnectionFactoryTimeout

The JNDI location of the connection factory to use. The JMS Destination Connection Factory is specified in this attribute. The syntax is "java:comp/resource" + resource provider name + "TopicConnectionFactories" or "QueueConnectionFactories" + user defined name. The xxxConnectionFactories details what type of factory is being defined.

destination-location

DestinationLocation

The JNDI location of the destination (queue/topic) to use. The JMS Destination is specified in the destination-location attribute. The syntax is "java:comp/resource" + resource provider name + "Topics" or "Queues" + Destination name. The Topic or Queue details what type of Destination is being defined. The Destination name is the actual queue or topic name defined in the database.

resource-adapterFootref 1

Use attribute.

The name of the resource adapter instance that this MDB uses. Applicable only if this MDB is using a J2CA message service provider. In order for the MDB to be activated by messages received by the resource adapter, the MDB and resource adapter must be connected. For more information, see "Configuring a Message Service Provider Using J2CA".

nameFootref 1

Use attribute.

The name of the bean, which matches the name of a bean in the assembly section of the EJB deployment descriptor (ejb-jar.xml).

subscription-name

SubscriptionName

If this is a topic, the subscription name is defined in the subscription-name attribute.

listener-threads

ListenerThreads

The listener threads are used to concurrently consume JMS messages. The default is one thread. Topics can only have one thread. Queues can have more than one.

For more information, see "Configuring Listener Threads".

transaction-timeout

TransactionTimeout

This attribute controls the transaction timeout interval (in seconds) for any container-managed transactional MDB. The default is one day or 86,400 seconds. If the transaction has not completed in this time frame, the transaction is rolled back. This applies to both normal JMS and J2CA resource adapter-based message providers. For more information, see "Configuring a Transaction Timeout for a Message-Driven Bean"

dequeue-retry-count

DequeueRetryCount

Specifies how often the listener thread tries to re-acquire the JMS session once database failover has ocurred. The default is "0." This value is only for CMT transactions in an MDB.

For more information, see:

dequeue-retry-interval

DequeueRetryInterval

Specifies the interval between retries. The default is 60 seconds.

For more information, see:

max-instancesFootref 1

Use attribute.

The maximum number of bean implementation instances to be kept instantiated or pooled. The default is 0, which means infinite. See "Configuring Bean Instance Pool Size" for more information.

For message-driven beans, the default pooling setting is typically appropriate. Change this value only if MDB lifecycle methods are very expensive and you need fine-grained control over how often instances are created and managed in the pool.

min-instancesFootref 1

Use attribute.

The minimum number of bean implementation instances to be kept instantiated or pooled. The default is 0. See "Configuring Bean Instance Pool Size" for more information.

cache-timeoutFoot 1 

Use attribute.

This parameter specifies how long to keep message-driven beans cached in the pool.

If you specify a pool-cache-timeout, then at every cache-timeout interval, all beans in the pool, of the corresponding bean type, are removed. If the value specified is zero or negative, then the cache-timeout is disabled and beans are not removed from the pool.

Default Value: 60 (seconds)

max-delivery-count

MaxDeliveryCnt

The maximum number of times OC4J will attempt the immediate re delivery of a message to a message-driven bean's onMessage method if that method returns failure (fails to invoke an acknowledgment operation, throws an exception, or both). After this number of re deliveries, the message is deemed undeliverable and is handled according to the policies of your message service provider. For example, OracleAS JMS will put the message on its exception queue (jms/Oc4jJmsExceptionQueue).

For more information, see "Configuring Maximum Delivery Count".


Footnote 1 J2CA message service provider resource adapters read this attribute but ignore all other <message-driven-deployment> attributes. For other <message-driven-deployment> attributes, use the resource adapter equivalent <config-property>.

EJB 1.1 CMP Field Mapping Section (cmp-field-mapping)

If you still use EJB 1.1 CMP entity beans, use the following elements to map the CMP fields to the database.

The following are the XML elements used for CMP persistent data field mapping within the orion-ejb-jar.xml file:

<cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
      persistence-type=...>
   <fields> 
      <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
          persistence-type=...></cmp-field-mapping>
   </fields>
   <properties> 
      <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
            persistence-type=...></cmp-field-mapping>
   </properties>
   <entity-ref home=...> 
      <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
          persistence-type=...></cmp-field-mapping>
   </entity-ref>
   <collection-mapping table=...>
      <primkey-mapping>
         <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
             persistence-type=...></cmp-field-mapping>
      </primkey-mapping>
      <value-mapping immutable="true|false" type=...>
         <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
             persistence-type=...></cmp-field-mapping>
      </value-mapping>
   </collection-mapping>
   <set-mapping table=...>
      <primkey-mapping>
         <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
             persistence-type=...></cmp-field-mapping>
      </primkey-mapping>
      <value-mapping immutable="true|false" type=...>
         <cmp-field-mapping ejb-reference-home=... name=... persistence-name=...
             persistence-type=...></cmp-field-mapping>
      </value-mapping>
   </set-mapping>
</cmp-field-mapping>

Method Definition

The following structure is used to specify the methods (and possibly parameters of that method) of the bean.

<method>
   <description></description>
   <ejb-name></ejb-name>
   <method-intf></method-intf>
   <method-name></method-name>
   <method-params>
     <method-param></method-param>
   </method-params>
</method>

The style used can be one of the following:

  1. When referring to all the methods of the specified enterprise bean's home and remote interfaces, specify the methods as follows:

    		     	<method>
    		<ejb-name>EJBNAME</ejb-name>
    	   		<method-name>*</method-name>
    	</method>
    
    
    
  2. When referring to multiple methods with the same overloaded name, specify the methods as follows:

       	<method>
    	<ejb-name>EJBNAME</ejb-name>
       		<method-name>METHOD</method-name>
    	</method>>
    
    
  3. When referring to a single method within a set of methods with an overloaded name, you can specify each parameter within the method as follows:

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

The <method> element is used within the security and MDB sections. See "Specifying Logical Roles in the EJB Deployment Descriptor" for more information.

Assembly Descriptor Section

In addition to specifying deployment information for individual beans, you can also specify addition deployment mapping information for security in the <assembly-descriptor> section. The <assembly-descriptor> section contains the following structure:

<assembly-descriptor>
  <security-role-mapping impliesAll=... name=...>
   <group name=... />
   <user name=... />
  </security-role-mapping>
  <default-method-access>
   <security-role-mapping impliesAll=... name=...>
    <group name=... />
    <user name=... />
   </security-role-mapping>    
  </default-method-access>
</assembly-descriptor>

Each of the element groups are discussed in the following sections of the OC4J documentation set: