XDoclet: Attribute-Oriented Programming - Tag Reference

##### XDoclet

- Overview
- News and Status
- Download/Installation
- Using XDoclet
- Best Practices
- FAQ
- License

##### Ant Task Reference

- <doclet .. />
- <ejbdoclet .. />
- <hibernatedoclet .. />
- <jdodoclet .. />
- <jmxdoclet .. />
- <mockdoclet .. />
- <portletdoclet .. />
- <springdoclet .. />
- <tapestrydoclet .. />
- <webdoclet .. />
- <wseedoclet .. />

##### Tag Reference

- apache (@soap @struts @axis @tapestry)
- bea (@weblogic)
- borland (@bes)
- caucho (@resin)
- ejb (@ejb @dao)
- exolab (@castor)
- hp (@hpas)
- hibernate (@hibernate)
- ibm (@websphere)
- java (@javabean)
- jboss (@jboss)
- jdo (@jdo)
- jmx (@jmx)
- jsf (@jsf)
- macromedia (@jrun)
- mockobjects (@mock)
- mvcsoft (@mvcsoft)
- mx4j (@mx4j)
- objectweb (@jonas)
- oracle (@oc4j)
- orion (@orion)
- portlet (@portlet)
- pramati (@pramati)
- spring (@spring)
- sun (@sunone)
- sybase (@easerver)
- tjdo (@tjdo)
- web (@web @jsp)
- webwork (@webwork)
- wsee (@wsee)
- xdoclet (@xdoclet @doc @msg)

##### Feature Documentation

- Using Value Objects
- EJB Environment Handling

##### Advanced

- Maven Plug-in
- Merge Points
- IDE Integration
- Migration from EJBDoclet
- Ant 1.5 Troubleshooting

##### Community

- Feedback
- Resources
- Tools

##### Development

- Developer Guide
- Javadoc (API)
- Template Language (*.xdt)
- XJavaDoc Site

##### Search XDoclet

##### Project Documentation

- About XDoclet
- Project Info
- Project Reports
- Development Process

## @weblogic Tag Reference

Tags for creation of WebLogic specific resources

Applies to: all EJB types and Web components, on class and method level

### @weblogic Class Level Tags

@weblogic.allow-concurrent-calls
@weblogic.allow-remove-during-transaction
@weblogic.automatic-key-generation
@weblogic.cache
@weblogic.cache-ref
@weblogic.clients-on-same-server
@weblogic.clustering
@weblogic.create-as-principal-name
@weblogic.data-source-name
@weblogic.delay-database-insert-until
@weblogic.dispatch-policy
@weblogic.ejb-local-reference-description
@weblogic.ejb-reference-description
@weblogic.enable-batch-operations
@weblogic.enable-bean-class-redeploy
@weblogic.enable-call-by-reference
@weblogic.enable-dynamic-queries
@weblogic.iiop-security-descriptor
@weblogic.instance-lock-order
@weblogic.invalidation-target
@weblogic.lifecycle
@weblogic.lock-order
@weblogic.message-driven
@weblogic.order-database-operations
@weblogic.passivate-as-principal-name
@weblogic.persistence
@weblogic.pool
@weblogic.pool-name
@weblogic.remove-as-principal-name
@weblogic.resource-description
@weblogic.resource-env-description
@weblogic.run-as-identity-principal
@weblogic.run-as-principal-name
@weblogic.transaction-descriptor
@weblogic.transaction-isolation
@weblogic.use-select-for-update
@weblogic.verify-rows

### @weblogic Method Level Tags

@weblogic.column-map
@weblogic.dbms-column-type
@weblogic.enable-tuned-updates
@weblogic.field-group
@weblogic.finder
@weblogic.idempotent-methods
@weblogic.relation
@weblogic.select
@weblogic.target-column-map
@weblogic.transaction-isolation

### @weblogic Field Level Tags

## @weblogic Class Level Tag Usage

### @weblogic.allow-concurrent-calls (0..*)

The allow-concurrent-calls specifies whether a stateful session bean instance will allow concurrent method calls. The value of this element may be either "True" or "False". When a stateful session bean instance is currently in a method call and another (concurrent) method call arrives on the server, the EJB specification requires that the server throw a RemoteException. By default, allow-concurrent-calls is false, and the EJB container will follow the EJB specification. When this value is set to true, the EJB container will block the concurrent method call and allow it to proceed when the previous call has completed. Allowed values are: True, False

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| bool |  | Default value(s): false | false

### @weblogic.allow-remove-during-transaction (0..1)

The allow-remove-during-transaction element specifies that the remove method on a stateful session bean can be invoked within a transaction context.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid options are: True False Default value(s): False |

### @weblogic.automatic-key-generation (0..1)

Optional tag used to install the Automatic Sequence/Key Generation facility, intended for use with Simple (non-Compound) Primary Keys.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
generator-type | text |  | Specifies the Key Generation Method that will be employed. Valid options are: ORACLE SQL_SERVER NAMED_SEQUENCE_TABLE Default value(s): | true
generator-name | text |  | The name of the Oracle sequence or the sequence table to use. | false
key-cache-size | int |  | Size of key cache. For type ORACLE, this value must match the Oracle sequence increment value. For type NAMED_SEQUENCE_TABLE, this tells how many keys the Container will fetch in a single DBMS call. | false

### @weblogic.cache (0..1)

Used to specify various options for the caching.

Applies to: Applicable to Entity Beans and Stateless Session Beans.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
max-beans-in-cache | int |  | Maximum number of objects of this class that are allowed in memory. Objects are kept in an LRU chain, and the ones dropped from the end of the chain are passivated. | false
idle-timeout-seconds | int |  | The cache (see "max-beans-in-cache" above) is scrubbed of inactive objects after at least this many seconds. Objects scrubbed are passivated. | false
read-timeout-seconds | int | Entity beans | The read-timeout-seconds is the number of seconds between ejbLoad calls on a Read-Only entity bean. If read-timeout-seconds is 0, ejbLoad will only be called when the bean is brought into the cache. | false
concurrency-strategy | text | Entity beans | The concurrency-strategy specifies how the container should manage concurrent access to an entity bean.<br/> The concurrent-strategy can be one of the following values:<br/> -&nbsp;"Exclusive": The exclusive locking scheme used in WebLogic Server versions 3.1 through 5.1<br/> -&nbsp;"Database": A scheme where a separate Entity Bean instance is allocated for each transaction and the locking and caching is handled by the database.<br/> -&nbsp;"ReadOnly" : For read-only entity beans<br/> -&nbsp;"Optimistic" : (since v7.0) When using optimistic concurrency, no locks are held in the EJB container or database during a transaction. The EJB container verifies that none of the data that was updated by a transaction has changed before committing the transaction. If any updated data has been changed, the transaction is rolled back. Valid options are: Exclusive Database ReadOnly Optimistic Default value(s): Database | false
cache-type | text | Stateless Session Beans (WLS 6.1) | The cache-type can be one of "NRU" or "LRU". The default is "NRU". Valid options are: NRU LRU Default value(s): NRU | false
cache-between-transactions | bool | Entity beans | The cache-between-transactions element tells the EJB container whether to cache the persistent data of an entity bean across (between) transactions. When a value of 'true' is specified caching between transactions is enabled and long term caching of data is performed. If a value of 'false' is specified, (the default) short term caching is done, which means that data is only cached during an individual transaction. A value of 'true' is only allowed if the concurrency-strategy for a bean is either Exclusive, ReadOnly, or Optimistic. A ReadOnly bean simply ignores the value of the cache-between-transactions element since long term caching of readonly data is always performed. When long term caching is enabled for Exclusive concurrency, the EJB container must have exclusive update access to the underlying data, i.e. the data must not be updated by another application outside of the EJB container. If an Exclusive bean is deployed in a cluster, long term caching is disabled automatically because any node in the cluster may update the data, making long term caching impossible. (Note: In releases prior to WLS 7.0, this feature was controlled using the db-is-shared element.) When long term caching is enabled for Optimistic concurrency, the EJB container reuses cached values from previous transactions, but ensures that updates are transactionally consistent by checking for optimistic conflicts at the end of the transaction. In addition, notifications for updates of optimistic data are broadcast to other cluster members to help avoid optimistic conflicts. Default value(s): false | false

### @weblogic.cache-ref (0..1)

Used to add a entity-cache-ref element to weblogic-ejb-jar.xml. This element is used to refer 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 descriptor

Applies to: Applicable to Entity Beans

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
cache-name | text |  | The entity-cache-name element is used to name the application level entity cache that an entity bean uses. An application level entity cache is a cache that may be shared by multiple entity beans in the same application. Application level entity caches are declared in the weblogic-application.xml deployment descriptor. | true
concurrency-strategy | text |  | The concurrency-strategy specifies how the container should manage concurrent access to an entity bean Valid options are: Exclusive Database ReadOnly Optimistic Default value(s): Database | true
cache-between-transactions | bool |  | The cache-between-transactions element tells the EJB container whether to cache the persistent data of an entity bean across (between) transactions. true or false. false by default. Default value(s): false | false
estimated-bean-size | int |  | The estimated-bean-size element is used to specify 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 | false

### @weblogic.clients-on-same-server (0..1)

The clients-on-same-server attribute 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.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid options are: True False Default value(s): False |

### @weblogic.clustering (0..1)

The clustering element is used to specify various options for how an entity bean will be invoked in a WebLogic cluster. Setting home-is-clusterable to "True" enables clustering for both the home and remote stubs of the Entity bean.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
home-is-clusterable | text |  | If "True," this bean can be deployed from multiple servers in a cluster. Calls to the home stub will be load-balanced between the servers on which this bean is deployed, and if a server hosting the bean is unreachable, the call will automatically failover to another server hosting the bean Valid options are: True False |
home-load-algorithm | text |  | The home-load-algorithm specifies the algorithm to use for load-balancing between replicas of this home. If this property is not specified, the algorithm specified by the server property weblogic.cluster.defaultLoadAlgorithm will be used. Valid options are: RoundRobin Random WeightBased |
home-call-router-class-name | text |  | The home-call-router-class-name specifies a custom class to be used for routing home method calls. This class must implement weblogic.rmi.cluster.CallRouter. |
replication-type | text | Statefull Session beans | The replication-type element describes how to replicate stateful session beans in a cluster. Valid options are: InMemory None Default value(s): None |
stateless-bean-call-router-class-name | text | Stateless Session beans | The stateless-bean-call-router-class-name specifies a custom class to be used for routing bean method calls. This class must implement weblogic.rmi.cluster.CallRouter. If specified, an instance of this class will be called before each method call and be given the opportunity to choose a server to route to based on the method parameters. It either returns a server name or null indicating that the current load algorithm should be used to pick the server. |
stateless-bean-is-clusterable | text | Stateless Session beans | The valid values of the stateless-bean-is-clusterable parameter are "True" or "False." The parameter is applicable only to session EJBeans with a session-type value of "Stateless" (see ejb-jar.dtd). If home-is-clusterable is "True" and this parameter is also "true", calls to this bean stub will be load-balanced between all the the servers on which this bean is deployed, and if a server hosting the bean becomes unreachable, the call will automatically failover to another server hosting the bean. Valid options are: True False |
stateless-bean-load-algorithm | text | Stateless Session beans | The stateless-bean-load-algorithm specifies the algorithm to use for load-balancing between replicas of this bean. If this property is not specified, the algorithm specified by the server property weblogic.cluster.defaultLoadAlgorithm will be used. Valid options are: RoundRobin Random WeightBased |
stateless-bean-methods-are-idempotent | bool | Stateless Session beans | The value should be set to "True" only if the bean is written such 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 completed on the failed server. Setting this property to "true" makes it possible for the bean stub to automatically recover from any failure as long as another server hosting the bean can be reached. | false

### @weblogic.create-as-principal-name (0..1)

The create-as-principal-name element, introduced in WebLogic Server 8.1 SP01, specifies the principal to be used in situations where ejbCreate would otherwise run with an anonymous principal

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  |  |

### @weblogic.data-source-name (0..1)

The JNDI name of the WebLogic data source which should be used for all database connectivity for this particular bean.

Applies to: Applicable to CMP EntityBeans

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  |  |

### @weblogic.delay-database-insert-until (0..1)

Specifies the precise time at which a new bean that uses RDBMS CMP is inserted into the database. By default, the database insert is done after ejbPostCreate.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid options are: ejbCreate ejbPostCreate commit Default value(s): ejbPostCreate | true

### @weblogic.dispatch-policy (0..1)

The dispatch-policy element specifies a dispatch policy queue for an EJB; it 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.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  |  |

### @weblogic.ejb-local-reference-description (0..1)

Used to specify a reference to an EJB. There must be an @ejb.ejb-ref tag too which points to the referenced bean. Only for Weblogic 6.1 and later

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
jndi-name | text |  | The jndi-name element gives the JNDI name where the bean or resource will be bound in WebLogic Server. References the tag @ejb.bean with "jndi-name" property | true
ejb-ref-name | text |  | EJB reference name, this is the reference that you put in the tag @ejb.ejb-ref with ref-name parameter | true

### @weblogic.ejb-reference-description (0..1)

Used to specify a reference to an EJB external to the current deployment-package. There must be an @ejb.ejb-ref tag too which points to the referenced bean.

Applies to: Applicable to all EJBs and Web components

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
jndi-name | text |  | The jndi-name element gives the JNDI name where the bean or resource will be bound in WebLogic Server. References the tag @ejb.bean with "jndi-name" property | true
ejb-ref-name | text |  | EJB reference name, this is the reference that you put in the tag @ejb.ejb-ref with ref-name parameter | true

### @weblogic.enable-batch-operations (0..1)

This element allows or disallows the EJB container to perform batch operations, including batch inserts, batch updates and batch deletes. If this element is set to True, the EJB delays database operations in a transaction until commit time.

Applies to: Applicable to Entity EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid options are: True False Default value(s): True |

### @weblogic.enable-bean-class-redeploy (0..1)

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid options are: True False Default value(s): False |

### @weblogic.enable-call-by-reference (0..*)

By default, EJB methods called from within the same server pass arguments by reference. This increases the performance of method invocation because parameters are not copied. If you set enable-call-by-reference to False, parameters to the EJB methods are copied (pass-by-value) in accordance with the EJB 1.1 specification. Pass by value is always necessary when the EJB is called remotely (not from within the server). Allowed values are True, False

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| bool |  | Default value(s): true | false

### @weblogic.enable-dynamic-queries (0..1)

Only for Weblogic 7.0 or greater

Applies to: Applicable to EJB 2.0 CMP EntityBeans

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| bool |  | Must be present for Dynamic Queries to be enabled for the EJB. |

### @weblogic.iiop-security-descriptor (0..1)

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
integrity | text |  | Valid options are: none supported required Default value(s): | false
confidentiality | text |  | Valid options are: none supported required Default value(s): | false
client-cert-authentication | text |  | Valid options are: none supported required Default value(s): | false
client-authentication | text |  | Valid options are: none supported required Default value(s): | false
identity-assertion | text |  | Valid options are: none supported required Default value(s): | false

### @weblogic.instance-lock-order (0..1)

Missing documentation, assumed to be like lock-order

Applies to: Applicable to Entity EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  |  |

### @weblogic.invalidation-target (0..1)

Only for Weblogic 6.1 or later

Applies to: Applicable to EJB 2.0 CMP EntityBeans

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
ejb-name | text |  | Specifies a Read-Only Entity EJB which should be invalidated when this CMP Entity EJB has been modified. | true

### @weblogic.lifecycle (0..1)

The lifecycle element is used to specify various options for the management of the lifecycle of stateful beans.

Applies to: Applicable to Entity Beans and Stateful Session Beans.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
passivation-strategy | text |  | The passivation-strategy can be either "default" or "transaction". With the "default" setting the container will attempt to keep a working set of beans in the cache. With the "transaction" setting, the container will passivate the bean after every transaction (or method call for a non-transactional invocation). Valid options are: default transaction Default value(s): default | false

### @weblogic.lock-order (0..1)

Use this flag to specify the database locking order of an entity bean when a transaction involves multiple beans and exclusive concurrency. The bean with lowest number is locked first. This flag should only be used to prevent a deadlock situation and, currently, only applies when a transaction performs cascade deletes.This flag is only used for cascade delete currently. Value is any positive integer.

Applies to: Applicable to Entity EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  |  |

### @weblogic.message-driven (0..1)

Used to specify various options for message driven beans.

Applies to: Applicable to message driven EJBs.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
connection-factory-jndi-name | text | Message Driven beans | This parameter specifies the JNDI name of the JMS ConnectionFactory that the MessageDriven Bean should look up to create its Queues and Topics. If not specified, it will default to weblogic.jms.MessageDrivenBeanConnectionFactory, which must have been declared in config.xml. | false
jms-polling-interval-seconds | int | Message Driven beans | The jms-polling-interval-seconds determines the number of seconds between each attempt to reconnect to the JMS destination. | false
jms-client-id | text | Message Driven beans | The JMS specification allows JMS consumers to specify an associated id. This id is necessary for durable subscriptions to JMS topics | false
destination-jndi-name | text | Message Driven beans | The destination-jndi-name element is used to associate a message-driven bean with a JMS Queue or Topic that has been deployed in the WebLogic JNDI tree. | false
initial-context-factory | text | Message Driven beans | This element specifies the initial ContextFactory that the container will use to create its connection factories. If not specified, it will default to weblogic.jndi.WLInitialContextFactory. | false
provider-url | text | Message Driven beans | This element specifies the URL provider to be put in the Properties used by the InitialContext. It is typically host:port and used in conjunction with initial-context-factory and connection-factory-jndi-name. | false

### @weblogic.order-database-operations (0..1)

Determines whether the EJB container delays all database operations in a transaction until commit time, automatically sorts the database dependency between the operations, and sends these operations to the database in such a way to avoid any database constraint errors. If enable-batch-operations is set to True, the container automatically sets order-database-operations to True.

Applies to: Applicable to Entity EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid options are: True False Default value(s): True |

### @weblogic.passivate-as-principal-name (0..1)

The passivate-as-principal-name element, introduced in WebLogic Server 8.1 SP01, specifies the principal to be used in situations where ejbPassivate would otherwise run with an anonymous principal.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  |  |

### @weblogic.persistence (0..1)

Used to specify various options for entity beans.

Applies to: Applicable to Entity EJBs.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
delay-updates-until-end-of-tx | bool | Entity beans | Applicable to entity beans only (both container- and bean-managed). This optional optimization affects when changes to a bean's state propogated to the persistent store. If this is set to "True" (which is the default) updates of the persistent store of all beans in the transaction will be performed just before the end of the transaction. If this is set to "False" the pstore update of a bean will be performed at the conclusion of each method invoke. | false
is-modified-method-name | text | Entity beans | Applies to bean managed persistence or EJB 1.1 container-managed persistence entity EJBs. EJB 2.0 entity EJBs do not need to implement an is-modified-method. The EJB container can automatically detect which fields were modified in a transaction. | false
finders-load-bean | text | Entity beans | Applicable to CMP entity beans only. This optional optimization affects whether the beans returned by a finder (or ejbSelect method) are loaded immediately into the cache before the finder method returns. Valid options are: True False | false
db-is-shared | bool | Entity beans | If the value is set to "False" the container will assume that it has exclusive access to the bean data in the persistence store. If it is set to "True" the bean will assume that the bean data could be modified between transactions and will therefore reload data at the beginning of each transaction. Only used in versions prior to 7.0. | false
verify-columns | text | Entity beans | The verify-columns element is used to specify the columns in a table that should be checked for validity when optimistic concurrency is used. Legal values are 'Read', 'Modified', 'Version', and 'Timestamp'. Columns are checked at the end of a transaction, before committing, to make sure that no other transaction has modified the column's data. When 'Read' is specified, all of the columns in the table that have been read during the transaction are checked. When 'Modified' is specified, only the columns that have been updated by the current transaction are checked. The 'Version' and 'Timestamp' options are used to specify that a version or timestamp (pseudo)column exists in the table and that this column is used to implement optimistic concurrency. The EJB container will automatically increment the version or timestamp column when a row in the table is updated. The name of the version (or timestamp) column is specified using the optimistic-column element. It is not necessary to map this column to a cmp field, unless desired. If a bean is mapped to multiple tables, checking is only performed on the tables that are updated during the transaction. The verify-columns elements for each table don't need to have the same value. Valid options are: Read, Modified Version,Timestamp Timestamp | false
optimistic-column | text | Entity beans | The optimistic-column element is used to denote a database column that contains a version or timestamp value used to implement optimistic concurrency. This element is case maintaining, though not all databases are case sensitive. The value of this element is ignored unless verify-columns has a value of 'Version' or 'Timestamp. | false

### @weblogic.pool (0..1)

Used to specify various options for instance pooling.

Applies to: Applicable to all EJBs.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
max-beans-in-free-pool | int |  | WebLogic EJB maintains a free pool of beans for every bean class. This property decides the maximum size of the pool. | false
initial-beans-in-free-pool | int |  | WebLogic EJB maintains a free pool of beans for every bean class. This property decides the initial size of the pool. | false

### @weblogic.pool-name (0..1)

The JNDI name of the WebLogic data source which should be used for all database connectivity for this particular bean.

Applies to: Applicable to CMP EntityBeans

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  |  |

### @weblogic.remove-as-principal-name (0..1)

The remove-as-principal-name element, introduced in WebLogic Server 8.1 SP01, specifies the principal to be used in situations where ejbRemove would otherwise run with an anonymous principal.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  |  |

### @weblogic.resource-description (0..1)

Used to specify a reference to resource. There must be a matching @ejb.resource-ref tag too which points to the referenced resource.

Applies to: Applicable to all EJBs and Web components

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
jndi-name | text |  | Reference to the resource | true
res-ref-name | text |  | The jndi-name from the @ejb.resource-ref tag | true

### @weblogic.resource-env-description (0..1)

Used to specify a reference to resource. There must be a matching @ejb.resource-env-ref tag too which points to the referenced resource.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
jndi-name | text |  | Reference to the resource | true
res-env-ref-name | text |  | The name from the @ejb.resource-env-ref | true

### @weblogic.run-as-identity-principal (0..*)

The run-as-identity-principal element specifies which security principal is to be used for the run-as identity. This tag is necessary if the role specified in the run-as element of the ejb-jar.xml descriptor does not map to a single security principal representing a User in the security realm. This could be true in two cases. One case is where the role maps to multiple security principals (see security-role-assignment element). In this case, the run-as-identity-principal element must be used to specify which of the security principals you would like to be used. The other case is where the role maps to a single security principal that represents a Group in the security realm. In this case the run-as-identity-principal element must be used to specify a particular User in the security realm.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  |  |

### @weblogic.run-as-principal-name (0..1)

The run-as-principal-name element specifies which security principal name is to be used as the run-as principal for a bean that has specified a security-identity run-as role-name in its ejb-jar.xml deployment descriptor.

Applies to: Applicable to all EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  |  |

### @weblogic.transaction-descriptor (0..*)

The transaction-descriptor specifies properties relating to transactions. Applicable to all bean types

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
trans-timeout-seconds | int |  | Maximum duration of EJB container initiated transactions. If the transaction takes longer then the trans-timeout-seconds, the Weblogic Server will rollback the transaction. | false

### @weblogic.transaction-isolation (0..*)

Set the transaction isolation level.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid options are: TRANSACTION_SERIALIZABLE TRANSACTION_READ_COMMITTED TRANSACTION_READ_UNCOMMITTED TRANSACTION_REPEATABLE_READ TRANSACTION_READ_COMMITTED_FOR_UPDATE Default value(s): | false

### @weblogic.use-select-for-update (0..1)

Enforces pessimistic concurrency on a per-bean basis. Specifying True causes SELECT ... FOR UPDATE to be used whenever the bean is loaded from the database. This is different from the transaction isolation level of TransactionReadCommittedForUpdate in that this is set at the bean level rather than the transaction level.

Applies to: Applicable to Entity EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid options are: True False Default value(s): False |

### @weblogic.verify-rows (0..1)

The verify-rows element specifies the rows in a table that the EJB container should check when optimistic concurrency is used.

Applies to: Applicable to Entity EJBs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid options are: Modified Read Default value(s): Modified |

## @weblogic Method Level Tag Usage

### @weblogic.column-map (0..*)

The column-map element represents a mapping from a foreign key column in the database table of this entity to a corresponding primary key column in the database table of the other end of the relation. So the tables to which the column belong are implicit from the context in which the column-map element appears. The key-column element is not specified if the foreign-key-column refers to a 'remote' bean. For a 1-1 or 1-n relationship, only the role on the foreign-key side of the relationship specifies a mapping. For n-m relationships there have to be mapping elements on both ends of the relationship.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
foreign-key-column | text |  | Which column of this role's database table is holding the primary key of the other end of this relation? | true
key-column | text |  | Which is the primary key column in the target role's database table? | false

### @weblogic.dbms-column-type (0..*)

If present, will map the current field to a Blob or Clob in Oracle database.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid values for Weblogic < 8.1 are OracleBlob and OracleClob, since Weblogic 8.1 the values LongString and SybaseBinary are allowed, too. Valid options are: OracleBlob OracleClob LongString SybaseBinary Default value(s): |

### @weblogic.enable-tuned-updates (0..1)

enable-tuned-updates determines the UPDATE behavior for EJB 1.1 CMP Entity Beans. When this value is True, the CMP engine does a minimal update, only modified fields are written to the database. If no fields have been changed, there is no database update. When this value is False, the CMP engine writes all fields at the end of each transaction.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
key-column | bool |  |  | false

### @weblogic.field-group (0..*)

A field-group represents a subset of the cmp and cmr-fields of a bean. Related fields in a bean can be put into groups which are faulted into memory together as a unit. A group can be associated with a query or relationship, so that when a bean is loaded as the result of executing a query or following a relationship, only the fields mentioned in the group are loaded.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
group-name | text |  | The name of a field group. | true

### @weblogic.finder (0..1)

A descriptor for a particular finder method defined in the home interface. Applicable only for EJB Spec 1.1

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
finder-query | text |  | The WebLogic Query Language (WLQL) string used to create the SQL string that will be used to retrieve values from the database for this finder. | false
finder-sql | text |  | A raw SQL string that will be used instead of the standard WLQL query to retrieve values from the database for this finder. Used for version 7.0+ | false
find-for-update | bool |  | When find-for-update is true, a SELECT...FOR UPDATE statement is generated for the finder method. | false

### @weblogic.idempotent-methods (0..1)

Indicate which methods are idempotent.

### @weblogic.relation (0..*)

Used for several other attributes supported by weblogic.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
join-table-name | text |  | Used for n-m relations, to specify the join table. Each row in the join table contains two foreign keys that map to the primary keys of the entities involved in the relation. | false
group-name | text |  | A group-name may be specified to indicate the field-group that should be loaded when the bean corresponding to this role is loaded as a result of traversing the relationship. | false

### @weblogic.select (0..*)

Extra properties for an ejb.select method.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
include-updates | bool |  | The include-updates tag is used to specify that updates made during the current transaction must be reflected in the result of a query. If include-updates is set to 'True', the container will flush all changes made by the current transaction to disk before executing the query. | true
group-name | text |  |  | true

### @weblogic.target-column-map (0..*)

Used for unidirectional relations, to specify the column map for the target end of the relation. Since you do not have a method in the other side of the relationship where you can specify the column mapping, you have to do it on this side of the relationship, but in fact refer to the other side.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
foreign-key-column | text |  | Which column of the target role's database table is holding the primary key of this end of this relation? | true
key-column | text |  | Which is the primary key column in this role's database table? | false

### @weblogic.transaction-isolation (0..*)

Set the transaction isolation level.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
| text |  | Valid options are: TRANSACTION_SERIALIZABLE TRANSACTION_READ_COMMITTED TRANSACTION_READ_UNCOMMITTED TRANSACTION_REPEATABLE_READ TRANSACTION_READ_COMMITTED_FOR_UPDATE Default value(s): | false

## @weblogic Field Level Tag Usage