Programming WebLogic Enterprise JavaBeans

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

weblogic-ejb-jar.xml Deployment Descriptor Reference

The following sections describe the elements in the WebLogic-specific deployment descriptor, weblogic-ejb-jar.xml. In this release of WebLogic Server, weblogic-ejb-jar.xml is XML Schema-based (XSD). In prior releases, weblogic-ejb-jar.xml was Document Type Definition-based (DTD). For backward compatibility, this release of WebLogic Server supports XSD- or DTD-based EJB descriptors. In this release of WebLogic Server, the EJB container still supports all older DTD-based descriptors; you can deploy applications that use DTD-based descriptors in this release of WebLogic Server without modifying the descriptors.

For information on:

 


2.1 weblogic-ejb-jar.xml File Structure

The WebLogic Server weblogic-ejb-jar.xml deployment descriptor file describes the elements that are unique to WebLogic Server.

The top level elements in the WebLogic Server 9.x weblogic-ejb-jar.xml are as follows:

 


2.1 weblogic-ejb-jar.xml Elements

The following list of the elements in weblogic-ejb-jar.xml includes all elements that are supported in this release of WebLogic Server. For information on elements that were new, changed, or deprecated in this release of WebLogic Server, see HEREHERE

 


allow-concurrent-calls

Range of values:
True | False
Default value:
False
Parent elements:
weblogic-enterprise-bean
     stateful-session-descriptor

Function

Specifies whether a stateful session bean instance allows concurrent method calls. By default, allows-concurrent-calls is False, in accordance with the EJB specification, and WebLogic Server will throw a RemoteException when a stateful session bean instance is currently handling a method call and another (concurrent) method call arrives on the server.

When this value is set to True, the EJB container blocks the concurrent method call and allows it to proceed when the previous call has completed.

Example

See stateful-session-descriptor .

 


allow-remove-during-transaction

Range of values:
True | False
Default value:
False
Parent elements:
weblogic-enterprise-bean
     stateful-session-descriptor

Function

Specifies that the remove method on a stateful session bean can be invoked within a transaction context.

Note: Stateful session beans implementing the Synchronization interface should not use this tag and then call remove before the transaction ends. If this is done the EJB container will not invoke the synchronization callbacks.

Example

See stateful-session-descriptor .

 


cache-between-transactions

Range of values:
True | False
Default value:
False
Parent elements:
weblogic-enterprise-bean
     entity-descriptor
          entity-cache
or entity cache-ref

Function

Formerly the db-is-shared element, specifies whether the EJB container will cache the persistent data of an entity bean across (between) transactions.

Specify True to enable the EJB container to perform long term caching of the data. Specify False to enable the EJB container to perform short term caching of the data.

A Read-Only bean ignores the value of the cache-between-transactions element because WebLogic Server always performs long term caching of Read-Only data.

See Limiting Database Reads with cache-between-transactions (Long-Term Caching) for more information.

Example

See persistence.

 


cache-type

Range of values:
NRU | LRU
Default value:
NRU
Parent elements:
weblogic-enterprise-bean
     stateful-session-cache

Function

Specifies the order in which EJBs are removed from the cache. The values are:

Example

<stateful-session-cache>
     <cache-type>NRU</cache-type>
</stateful-session-cache>

 


client-authentication

Range of values:
none | supported | required
Default value:
 
Parent elements:
weblogic-enterprise-bean
     iiop-security-descriptor

Function

Specifies whether the EJB supports or requires client authentication.

Example

See iiop-security-descriptor.

 


client-cert-authentication

Range of values:
none | supported | required
Default value:
 
Parent elements:
weblogic-enterprise-bean
     iiop-security-descriptor
          transport-requirements

Function

Specifies whether the EJB supports or requires client certificate authentication at the transport level.

Example

See transport-requirements.

 


clients-on-same-server

Range of values:
True | False
Default value:
False
Parent elements:
weblogic-enterprise-bean

Function

Determines whether WebLogic Server sends JNDI announcements for this EJB when it is deployed. When this attribute is False (the default), a WebLogic Server cluster automatically updates its JNDI tree to indicate the location of this EJB on a particular server. This ensures that all clients can access the EJB, even if the client is not collocated on the same server.

You can set clients-on-same-server to True when you know that all clients that will access this EJB will do so from the same server on which the bean is deployed. In this case, a WebLogic Server cluster does not send JNDI announcements for this EJB when it is deployed. Because JNDI updates in a cluster utilize multicast traffic, setting clients-on-same-server to True can reduce the startup time for very large clusters.

See Optimization for Collocated Objects in Using WebLogic Server Clusters for more information on collocated EJBs.

Example

<weblogic-enterprise-bean>
<ejb-name>AccountBean</ejb-name>
...
<clients-on-same-server>True</clients-on-same-server>
</weblogic-enterprise-bean>

 


concurrency-strategy

Range of values:
Exclusive | Database | ReadOnly | Optimistic
Default value:
Database
Parent elements:
weblogic-enterprise-bean
     entity-descriptor
          entity-cache
or
weblogic-enterprise-bean
     entity-descriptor
          entity-cache
-ref

Function

Specifies how the container should manage concurrent access to an entity bean. Set this element to one of four values:

Note: When a cluster member updates a bean with a concurrency-strategy of Optimistic that is deployed to a cluster, the EJB container attempts to invalidate all copies of the bean in all servers in the cluster. You can disable this behavior by setting cluster-invalidation-disabled in weblogic-cmp-jar.xml to True. For more information, see Invalidation Options for Optimistic Concurrency in Clusters.

See Choosing a Concurrency Strategy for more information on the Exclusive and Database locking behaviors. See Read-Write versus Read-Only Entity Beans for more information about read-only entity EJBs.

Example

<weblogic-enterprise-bean>
<ejb-name>AccountBean</ejb-name>
<entity-descriptor>
<entity-cache>
<concurrency-strategy>ReadOnly</concurrency-strategy>
</entity-cache>
</entity-descriptor>
</weblogic-enterprise-bean>

 


confidentiality

Range of values:
none | supported | required
Default value:
 
Parent elements:
weblogic-enterprise-bean
     iiop-security-descriptor
          transport-requirements

Function

Specifies the transport confidentiality requirements for the EJB. Using the confidentiality element ensures that the data is sent between the client and server in such a way as to prevent other entities from observing the contents.

Example

See transport-requirements.

 


connection-factory-jndi-name

Range of values:
Valid JNDI name.
Default value:
If not specified, the default is weblogic.jms.MessageDrivenBeanConnectionFactory, which must have been declared in the JMSConnectionFactory element in config.xml
Parent elements:
weblogic-enterprise-bean
     message-driven-descriptor

Function

Specifies the JNDI name of the JMS Connection Factory that a message-driven EJB looks up to create its queues and topics. See Configuring MDBs for Destinations and How to Set connection-factory-jndi-name.

Example

<message-driven-descriptor>
     <connection-factory-jndi-name>
     java:comp/env/jms/MyConnectionFactory
     
</connection-factory-jndi-name>
</message-driven-descriptor>

 


connection-factory-resource-link

Range of values:
Valid resource within a JMS module
Default value:
n/a
Parent elements:
weblogic-enterprise-bean
     message-destination-descriptor

Function

Maps to a resource within a JMS module defined in ejb-jar.xml to an actual JMS Module Reference in WebLogic Server.

 


create-as-principal-name

Range of values:
Valid principal name.
Default value:
n/a
Parent elements:
weblogic-enterprise-bean

Function

Introduced in WebLogic Server 8.1 SP01, specifies the principal to be used in situations where ejbCreate would otherwise run with an anonymous principal. Under such conditions, the choice of which principal to run as is governed by the following rule:

if create-as-principal-name is set
then use that principal
else
     If a run-as role has been specified for the bean in ejb-jar.xml
     then use a principal according to the rules for setting the run-as-role-assignment
     else
           run ejbCreate as an anonymous principal.

The create-as-principal-name element only needs to be specified if operations within ejbCreate require more permissions than the anonymous principal would have.

This element effects the ejbCreate methods of stateless session beans and message-driven beans.

See also remove-as-principal-name, passivate-as-principal-name, and principal-name.

 


delay-updates-until-end-of-tx

Range of values:
True | False
Default value:
True
Parent elements:
weblogic-enterprise-bean
     entity-descriptor
          persistence

Function

Set the delay-updates-until-end-of-tx element to True (the default) to update the persistent store of all beans in a transaction at the completion of the transaction. This setting generally improves performance by avoiding unnecessary updates. However, it does not preserve the ordering of database updates within a database transaction.

If your datastore uses an isolation level of TransactionReadUncommitted, you may want to allow other database users to view the intermediate results of in-progress transactions. In this case, set delay-updates-to-end-of-tx to False to update the bean's persistent store at the conclusion of each method invoke. See Understanding ejbLoad() and ejbStore() Behavior for more information.

Note: Setting delay-updates-until-end-of-tx to False does not cause database updates to be "committed" to the database after each method invoke; they are only sent to the database. Updates are committed or rolled back in the database only at the conclusion of the transaction.

Example

<entity-descriptor>
     <persistence>
     ...
     ...
     <delay-updates-until-end-of-tx>False</delay-updates-until-end-of-tx>
     </persistence>
</entity-descriptor>

 


description

Range of values:
n/a
Default value:
n/a
Parent elements:
weblogic-ejb-jar
and
weblogic-ejb-jar
     transaction-isolation
          method
and
weblogic-ejb-jar
     idempotent-methods
          method
and
weblogic-ejb-jar
     retry-methods-on-rollback

Function

Describes the parent element.

Example

<description>Contains a description of parent element</description>

 


destination-jndi-name

Range of values:
Valid JNDI name.
Default value:
n/a
Parent elements:
weblogic-enterprise-bean
     message-destination-descriptor
and
weblogic-enterprise-bean
     message-driven-descriptor

Function

Specifies the JNDI name used to associate a message-driven bean with an actual JMS Queue or Topic deployed in the WebLogic Server JNDI tree.

Example

See message-destination-descriptor and message-driven-descriptor.

 


destination-resource-link

Range of values:
Valid resource within a JMS module
Default value:
n/a
Parent elements:
weblogic-enterprise-bean
     message-destination-descriptor

Function

Maps to a resource within a JMS module defined in ejb-jar.xml to an actual JMS Module Reference in WebLogic Server.

 


disable-warning

Range of values:
BEA-010001 | BEA-010054 | BEA-010200 | BEA-010202
Default value:
n/a
Parent elements:
weblogic-ejb-jar

Function

Specifies that WebLogic Server should disable the warning message whose ID is specified. Set this element to one of four values:

Example

To disable the warning message: "Call-by-reference not enabled", set <disable-warning>, as shown below.

<disable-warning>BEA-010202</disable-warning>

 


dispatch-policy

Range of values:
Valid execute queue name.
Default value:
n/a
Parent elements:
weblogic-enterprise-bean

Function

Designates which server execute thread pool the EJB should run in. Dispatch polices are supported for all types of beans, including entity, session, and message-driven.

If no dispatch-policy is specified, or the specified dispatch-policy refers to a nonexistent server execute thread pool, then the server's default execute thread pool is used instead.

WebLogic Server ignores dispatch-policy if the host server instance does not have an execute thread queue bearing a corresponding name.

If a message-driven bean (MDB) is driven by a foreign (non-WebLogic) destination source, WebLogic Server might ignore dispatch-policy, as the MDB may instead run in the foreign provider's threading mechanism. For example, for the IBM WebSphere MQSeries messaging software, dispatch-policy is not honored for non-transactional queues; instead the application code runs in an MQSeries thread. For MQSeries transactional queues, and both non-transactional and transactional topics, dispatch-policy is honored.

The maximum number of concurrently running MDB instances is designated by a combination of max-beans-in-free-pool and dispatch-policy values. See MDB Thread Management in WebLogic Server Performance and Tuning.

Example

<dispatch-policy>queue_name</dispatch-policy>

 


durable-subscription-deletion

Range of values:
True | False
Default value:
False
Parent elements:
weblogic-ejb-jar
     weblogic-enterprise-bean
          message-driven-descriptor

Function

This element, which was introduced in WebLogic Server 9.0, indicates whether you want durable topic subscriptions to be automatically deleted when an MDB is undeployed or removed.

Example

<durable-subscription-deletion>True</durable-subscription-deletion>

 


ejb-local-reference-description

Range of values:
n/a
Default value:
n/a
Parent elements:
weblogic-enterprise-bean

Function

Maps the JNDI name of an EJB in the WebLogic Server instance that is referenced by the bean in the ejb-local-ref element.

Example

<ejb-local-reference-description>
<ejb-ref-name>AdminBean</ejb-ref-name>
<jndi-name>payroll.AdminBean</jndi-name>
</ejb-local-reference-description>

 


ejb-name

Range of values:
Name, which conforms to the lexical rules for an NMTOKEN, of an EJB that is defined in ejb-jar.xml.
Default value:
n/a
Parent elements:
weblogic-enterprise-bean
and
weblogic-enterprise-bean
     method

Function

Specifies an enterprise bean's name, using the same name for the bean that is specified in ejb-jar.xml. 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.

Note: Not recommended in weblogic-enterprise-bean. For more information, see Using EJB Links.

Example

See method.

 


ejb-reference-description

Range of values:
n/a
Default value:
n/a
Parent elements:
weblogic-enterprise-bean

Function

Maps the JNDI name of an EJB in WebLogic Server to the name by which it is specified in the ejb-ref-name element in ejb-jar.xml.

Example

<ejb-reference-description>
<ejb-ref-name>AdminBean</ejb-ref-name>
<jndi-name>payroll.AdminBean</jndi-name>
</ejb-reference-description>

 


ejb-ref-name

Range of values:
Valid ejb-ref-name specified in the associated ejb-jar.xml file.
Default value:
n/a
Parent elements:
weblogic-enterprise-bean
    ejb-reference-description

Function

Specifies a resource reference name. This element is the reference that the EJB provider places within the ejb-jar.xml deployment file.

Example

<ejb-reference-description>
<ejb-ref-name>AdminBean</ejb-ref-name>
<jndi-name>payroll.AdminBean</jndi-name>
</ejb-reference-description>

 


enable-bean-class-redeploy

Range of values:
True | False
Default value:
False
Parent elements:
weblogic-enterprise-jar

Function

By default, the EJB implementation class is loaded in the same classloader as the rest of the EJB classes. When the enable-bean-class-redeploy element is enabled, the implementation class, along with its super classes, gets loaded in a child classloader of the EJB module classloader. This allows the EJB implementation class to be redeployed without redeploying the entire EJB module.

There are some potential problems with loading the bean class in a child classloader. First, the bean class will no longer be visible to any classes loaded in the parent classloader, so those classes cannot refer to the bean class or errors will occur. Also, the bean class will not be able to invoke any package protected methods on any classes loaded in a different classloader. So, if your bean class invokes a helper class in the same package, the helper class methods must be declared public or IllegalAccessErrors will result.

Example

The following XML element enables redeployment of an individual bean class:

<enable-bean-class-redeploy>True</enable-bean-class-redeploy>

 


enable-call-by-reference

Range of values:
True | False
Default value:
False
Parent elements:
weblogic-enterprise-bean

Function

When enable-call-by-reference is False, parameters to the EJB methods are copied—or passed by value—regardless of whether the EJB is called remotely or from within the same EAR.

When enable-call-by-reference is True, EJB methods called from within the same EAR file or standalone JAR file will pass arguments by reference. This improves the performance of method invocation since parameters are not copied.

Note: Method parameters are always passed by value when an EJB is called remotely.

Example

<weblogic-enterprise-bean>
     <entity-descriptor>
          
<ejb-name>AccountBean</ejb-name>
          ...
          <enable-call-by-reference>False</enable-call-by-reference>
     </entity-descriptor>
</weblogic-enterprise-bean>

 


enable-dynamic-queries

Range of values:
True | False
Default value:
True
Parent elements:
weblogic-enterprise-bean
     entity-descriptor

Function

Set to True to enable dynamic queries. Dynamic queries are only available for use with EJB 2.x CMP beans.

Example

<enable-dynamic-queries>True</enable-dynamic-queries>

 


entity-always-uses-transaction

Range of values:
True | False
Default value:
False
Parent elements:
weblogic-ejb-jar
     weblogic-compatibility

Function

This element, introduced in WebLogic Server 9.0, allows you to specify whether an entity bean must always use a transaction. Before WebLogic Server 9.0, when an entity bean ran in an unspecified transaction, the EJB container would create a transaction for the entity bean. Now, the EJB container no longer creates a transaction when an entity bean runs in an unspecified transaction. To disable this behavior and cause the EJB container to create a transaction for entity beans that run in unspecified transaction, set the value of this element to True.

 


entity-cache

Range of values:
n/a
Default value:
n/a
Parent elements:
weblogic-enterprise-bean
     entity-descriptor

Function

Defines the following options used to cache entity EJB instances within WebLogic Server:

See Understanding Entity Caching for more information.

Example

<entity-descriptor>
<entity-cache>
<max-beans-in-cache>...</max-beans-in-cache>
<idle-timeout-seconds>...</idle-timeout-seconds>
<read-timeout-seconds>...<read-timeout-seconds>
<concurrency-strategy>...</concurrency-strategy>
</entity-cache>
<persistence>...</persistence>
<entity-clustering>...</entity-clustering>
</entity-descriptor>

 


entity-cache-name

Range of values:

Name assigned to an application level entity cache in the weblogic-application.xml file.

Default value:
n/a
Parent elements:
weblogic-enterprise-bean
     entity-descriptor
          entity-cache-ref

Function

Refers to an application level entity cache that the entity bean uses. An application level cache is a cache that may be shared by multiple entity beans in the same application. The value you specify for entity-cache-name must match the name assigned to an application level entity cache in the weblogic-application.xml file

For more information about the weblogic-application.xml file, see Enterprise Application Deployment Descriptor Elements in Developing Applications with WebLogic Server.

Example

See entity-cache-ref.

 


entity-cache-ref

Range of values:
n/a
Default value:
n/a
Parent elements:
weblogic-enterprise-bean,
     entity-descriptor

Function

Refers to an application level entity cache which can cache instances of multiple entity beans that are part of the same application. Application level entity caches are declared in the weblogic-application.xml file.

Use concurrency-strategy to define the type of concurrency you want the bean to use. The concurrency-strategy must be compatible with the application level cache's caching strategy. For example, an Exclusive cache only supports beans with a concurrency-strategy of Exclusive. A MultiVersion cache supports the Database, ReadOnly, and Optimistic concurrency strategies.

Example

<entity-cache-ref>
<entity-cache-name>AllEntityCache</entity-cache-name>
<read-timeout-seconds>600</read-timeout-seconds>
<cache-between-transactions>true</cache-between-transactions>
<concurrency-strategy>ReadOnly</concurrency-strategy>
<estimated-bean-size>20</estimated-bean-size>
</entity-cache-ref>

 


entity-clustering

Range of values:
n/a
Default value:
n/a
Parent elements:
weblogic-enterprise-bean
     entity-descriptor

Function

Specifies how an entity bean will be replicated in a WebLogic cluster:

Example

<entity-clustering>
<home-is-clusterable>True</home-is-clusterable>
<home-load-algorithm>random</home-load-algorithm>
<home-call-router-class-name>beanRouter</home-call-router-
class-name>
<use-serverside-stubs>True</use-serverside-stubs>
</entity-clustering>

 


entity-descriptor

Range of values:
n/a
Default value:
n/a
Parent elements:
weblogic-enterprise-bean

Function

Specifies the following deployment parameters that are applicable to an entity bean:

Example

<entity-descriptor>
<entity-cache>...</entity-cache>
<persistence>...</persistence>
<entity-clustering>...</entity-clustering>
<invalidation-target>...</invalidation-target>
<enable-dynamic-queries>...</enable-dynamic-queries>
</entity-descriptor>

 


estimated-bean-size

Range of values:
n/a
Default value:
n/a
Parent elements:
weblogic-enterprise-bean
     entity-descriptor

Function

Specifies the estimated average size of the instances of an entity bean in bytes. This is the average number of bytes of memory that is consumed by each instance.

Use the estimated-bean-size element when the application level cache you use to cache beans is also specified in terms of bytes and megabytes.

Although you may not know the exact number of bytes consumed by the entity bean instances, specifying a size allows you to give some relative weight to the beans that share a cache at one time.

For example, suppose bean A and bean B share a cache, called AB-cache, that has a size of 1000 bytes and the size of A is 10 bytes and the size of B is 20 bytes, then the cache can hold at most 100 instances of A and 50 instances of B. If 100 instances of A are cached, this implies that 0 instances of B are cached.

Example

See entity-cache-ref.

 


externally-defined

Range of values:
True | False
Default value:
 
Parent elements:
weblogic-ejb-jar
security-role-assignment

Function

Indicates that a particular security role is defined externally in a security realm, outside of the deployment descriptor. Because the security role and its principal-name mapping is defined elsewhere, principal-names are not to be specified in the deployment descriptor. This tag is used as an indicative placeholder instead of a set of principal-name elements. Use this element instead of global-role, which has been deprecated and was removed from WebLogic Server in release 9.0.

 


finders-load-bean

Range of values:
True | False
Default value:
True
Parent elements:
weblogic-enterprise-bean
     entity-descriptor
          persistence

Function

Valid only for CMP entity EJBs. The finders-load-bean element determines whether WebLogic Server loads the EJB into the cache after a call to a finder method returns a reference to the bean. If you set this element to True, WebLogic Server immediately loads the bean into the cache if a reference to a bean is returned by the finder. If you set this element to False, WebLogic Server does not automatically load the bean into the cache until the first method invocation; this behavior is consistent with the EJB 1.1 specification.

Example

<entity-descriptor>
<persistence>
<finders-load-bean>True</finders-load-bean>
</persistence>
</entity-descriptor>

 


generate-unique-jms-client-id

Range of values:
True | False
Default value:
False
Parent elements:
weblogic-ejb-jar
     weblogic-enterprise-bean
          message-driven-descriptor

Function

Indicates whether or not you want the EJB container to generate a unique client-id for every instance of an MDB which makes is easier to deploy durable MDBs to multiple server instances in a WebLogic Server cluster.

 


global-role

The global-role element is deprecated and was removed from WebLogic Server in release 9.0. Use the externally-defined element instead.

 


home-call-router-class-name

Range of values:
Valid name of a custom class.
Default value:
n/a
Parent elements:
weblogic-enterprise-bean
     entity-descriptor
          entity-clustering
and
weblogic-enterprise-bean
     stateful-session-descriptor
          stateful-session-clustering
and
weblogic-enterprise-bean
     stateless-session-descriptor
          stateless-session-clustering

Function

Specifies the name of a custom class to use for routing bean method calls. This class must implement weblogic.rmi.cluster.CallRouter(). If specified, an instance of this class is called before each method call. The router class has the opportunity to choose a server to route to based on the method parameters. The class returns either a server name or null, which indicates that the current load algorithm should select the server.

Example

See entity-clustering and stateful-session-clustering.

 


home-is-clusterable

Range of values:
True | False
Default value:
True
Parent elements:
weblogic-enterprise-bean
     entity-descriptor
          entity-clustering
and
weblogic-enterprise-bean
     stateful-session-descriptor
          stateful-session-clustering
and
weblogic-enterprise-bean
     stateful-session-descriptor
          stateless-clustering

Function

When home-is-clusterable is True, the EJB can be deployed from multiple WebLogic Servers in a cluster. Calls to the home stub are load-balanced between the servers on which this bean is deployed, and if a server hosting the bean is unreachable, the call automatically fails over to another server hosting the bean.

Example

See entity-clustering.

 


home-load-algorithm

Range of values:
round-robin | random | weight-based | RoundRobinAffinity | RandomAffinity | WeightBasedAffinity
Default value:
Value of weblogic.cluster.defaultLoadAlgorithm
Parent elements:
weblogic-enterprise-bean
     entity-descriptor
          entity-clustering
and
weblogic-enterprise-bean
     stateful-session-descriptor
          stateful-session-clustering
and
weblogic-enterprise-bean
     entity-descriptor
          entity-clustering

Function

Specifies the algorithm to use for load balancing between replicas of the EJB home in a cluster. If this element is not defined, WebLogic Server uses the algorithm specified by the server element, weblogic.cluster.defaultLoadAlgorithm.

You can define home-load-algorithm as one of the following values:

For more information, see Load Balancing for EJBs and RMI Objects in Using WebLogic Server Clusters.

Example

See entity-clustering and stateful-session-clustering.

 


idempotent-methods

Range of values:
n/a
Default value:
n/a
Parent elements:
weblogic-ejb-jar

Function

Defines list of methods of a clustered EJB which are written in such a way that repeated calls to the same method with the same arguments has exactly the same effect as a single call. This allows the failover handler to retry a failed call without knowing whether the call actually compiled on the failed server. When you enable idempotent-methods for a method, the EJB stub can automatically recover from any failure as long as it can reach another server hosting the EJB.

Clustering must be enabled for the EJB. To enable clustering, see entity-clustering, stateful-session-clustering, and stateless-clustering.

The methods on stateless session bean homes and read-only entity beans are automatically set to be idempotent. It is not necessary to explicitly specify them as idempotent.

Example

<idempotent-method>
<method>
<description>...</description>
<ejb-name>...</ejb-name>
<method-intf>...</method-intf>
<method-name>...</method-name>
<method-params>...</method-params>
</method>
</idempotent-method>

 


identity-assertion

Range of values:
none | supported | required
Default value:
 
Parent elements:
weblogic-enterprise-bean
     iiop-security-descriptor

Function

Specifies whether the EJB supports or requires identity assertion.

Example

See iiop-security-descriptor.

 


idle-timeout-seconds

Range of values:
1 to maxSeconds, where maxSeconds is the maximum value of an int.
Default value:
600
Parent elements:
weblogic-enterprise-bean
     entity-descriptor
          entity-cache
and
weblogic-enterprise-bean
     entity-descriptor
          entity-cache-ref
and
weblogic-enterprise-bean
     stateful-session-descriptor
          stateful-session-cache
and
weblogic-enterprise-bean,
     stateless-session-descriptor
or message-driven-descriptor
     
or entity-descriptor
          pool

Function