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

## @hpas Tag Reference

Define HPAS-specific deployment descriptors (hp-ejb-jar.xml) for EJB beans.

Applies to: All EJB types

### @hpas Class Level Tags

@hpas.bean
@hpas.ejb-ref
@hpas.pool

### @hpas Method Level Tags

### @hpas Field Level Tags

## @hpas Class Level Tag Usage

### @hpas.bean (0..1)

Most of the class-level HPAS options are specified in parameters of this tag.

Applies to: class level of EJB

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
read-only | bool | Applicable only to entity beans. | Specifies whether the bean is marked as read only. | false
passivation | bool | Applicable to stateful session beans and entity beans. For stateful session beans, if this parameter is used then the passivate-threshold parameter must also be present. | Determines whether the container can manage the passivation behaviour of beans; indicates whether passivation is enabled for the bean. | false
passivate-threshold | int |  | Specifies the number of beans for a deployed EJB above which the container will attempt to passivate instances. Applicable to stateful session beans only, when the passivation parameter has been used. | false
session-timeout | int |  | Indicates the timeout for the session. *** Note, int used because do not know what the f**k is duration | false
concurrent-message-processing | bool | Applicable to message driven beans only | Specifies whether concurrent message processing is enabled. | false
max-messages | int | Applicable to message driven beans only | Specifies the maximum number of messages assigned to a single session. This value is passed to the JMS server | false
max-message-threads | int | Applicable to message driven beans only | Specifies the maximum number of separate server sessions (threads) that will be created to handle messages | false
message-thread-timeout | int | Applicable to message driven beans only | Specifies the amount of time after which an idle server session will be available to be removed from the pool. | false
connection-retry | bool | Applicable to message driven beans only | Specifies whether an exception listener is registered for the connection. If no exception listener is established, there will be no connection failover. | false
jndi-factory | text | Applicable to message driven beans only | Specifies the lookup string used to obtain the factory that will be used to create the connection used by the MDB. | true
jndi-destination | text | Applicable to message driven beans only | Specifies the lookup string for the destination topic or queue for which the bean is registered as a listener. | true

### @hpas.ejb-ref (0..*)

A mapping of EJB references to deployed beans. NB This is likely to be refactored in the future, to use extra parameters on the @ejb:ejb-ref and @ejb:ejb-external-ref tags instead of the @hpas.ejb-ref tag.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
type | text |  | Use "co-located" for references to EJBs in the same application, and "distributed" for references to EJBs in other applications. Valid options are: co-located distributed Default value(s): co-located | true
ref-name | text |  | Specifies the mapping into the ejb-ref entry in the standard deployment descriptor. | true
jndi-name | text |  | Specifies the actual name under which the bean is registered in the name service. | true
application | text | Only applies when type="distributed". | Specifies the name of the application in which the EJB component is deployed. | false
host | text | Only applies when type="distributed". | Specifies the host name for the name server. | false
port | text | Only applies when type="distributed". | Specifies the port number for the name server | false

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

Contains the information required to setup an object pool.

Applies to: All beans

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
initial-size | int |  | Specifies the initial size of the pool. | false
cache-limit | text |  | Specifies the maximum size of the pool. When the cache-limit is reached, pooled entries that are returned to the pool will be discarded; if the cache-limit is reached, new objects may still be created. NB: "integer or unlimited" is bullshit. How do I specify condition for this? Default value(s): unlimited | false
idle-timeout | int |  | Specifies the idle timeout for the pool. | false
use-reaper | bool |  | Specifies whether the pool should enforce the cache-limit. The reaper can be disabled to optimize pool performance. | false
reap-asynch | bool |  | Specifies whether pool reaping should occur asynchronously with respect to inserting or removing objects from the pool. Setting this to true makes pool accesses faster but consumes more system resources. | false

## @hpas Method Level Tag Usage

## @hpas Field Level Tag Usage