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

## @jmx Tag Reference

jmx tags

Applies to: Any class may be an mbean

### @jmx Class Level Tags

@jmx.mbean
@jmx.mlet-entry
@jmx.notification

### @jmx Method Level Tags

@jmx.managed-attribute
@jmx.managed-operation

### @jmx Field Level Tags

## @jmx Class Level Tag Usage

### @jmx.mbean (0..1)

The jmx.mbean tag identifies the class as an mbean. It can be used to generate the interface for a standard mbean and the jboss specific xmbean xml descriptor and service.xml file format.

Applies to: identifies the class as an mbean

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
extends | text |  | Specifies the superclass for the standard mbean interface. | false
name | text |  | Specifies the object name for mlet or it can be used as a default in an extension template. | false
description | text |  | Specifies a description for the mbean that can be used in mbean infos. | false
persistPolicy | text |  | Specifies the persistence policy for this mbean Valid options are: OnUpdate NoMoreOftenThan Never OnTimer | false
persistPeriod | text |  | Specifies when the mbean state will be saved. | false
persistLocation | text |  | Specifies the location for the mbean's state to be saved. | false
persistName | text |  | Specifies the name to identify the mbeans saved state with. | false
persistence-manager | text |  | Specifies the fully qualified class name of a persistence manager for this mbean (JBoss specific). | false
currencyTimeLimit | text |  | Specifies how long the mbeans state may be considered valid. | false
state-action-on-update | text |  | Specifies what the jboss state management should do when an attribute is updated on a started mbean. (jboss specific). | false
descriptor | text |  | Specifies an additional custom descriptor for the mbean that can be used in mbean infos. To make this work as an xdoclet parameter, you need to escape the double quotes: descriptor="name=\"name\" value=\"value\"" | false

### @jmx.mlet-entry (0..1)

The jmx.mlet-entry tag allows you to specify entries for a generated mlet.

Applies to: well, you need the jmx.mbean tag also.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
archive | text |  | Specifies the ARCHIVE property for an mlet configuration. | false
codebase | text |  | Specifies the path to the package for the mbean class. | false

### @jmx.notification (0..*)

Defines a jmx notification.

Applies to: The jmx.notification tag can be used multiple times in any mbean.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
description | text |  | Specifies the description for the notification. | false
name | text |  | Specifies the name for the notification. | true
persistPolicy | text |  | Specifies the persistence policy for this mbean Valid options are: OnUpdate NoMoreOftenThan Never OnTimer | false
persistPeriod | text |  | Specifies when the mbean state will be saved. Not sure how this applies to notifications. | false
persistLocation | text |  | Specifies the location for the mbean's state to be saved. Not sure how this applies to notifications. | false
persistName | text |  | Specifies the name to identify the mbeans saved state with. Not sure how this applies to notifications. | false
currencyTimeLimit | text |  | Specifies how long the mbeans state may be considered valid. Not sure how this applies to notifications. | false
descriptor | text |  | Specifies an additional custom descriptor for the mbean that can be used in mbean infos. This should be of the form name="name" value="value". To make this work as an xdoclet parameter, you need to escape the double quotes: descriptor="name=\"name\" value=\"value\"" | false

## @jmx Method Level Tag Usage

### @jmx.managed-attribute (0..1)

Defines a jmx managed attribute. This method will be included in a standard mbean interface and an attribute based on its name will be included as a managed atribute in xmbean metadata. This must be included on any getter or setter you want exposed in a standard mbean. For xmbeans, the methods with these tags will be identified as the getMethod and setMethod for the attribute.

Applies to: The jmx.managed-attribute tag can be used on any method.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
access | text |  | Specifies the access to the managed-attribute: read-only, write-only or read-write. Valid options are: read-only write-only read-write Default value(s): read-write | false
description | text |  | Specifies a description for the managed attribute that can be used in mbean infos. | false
persistPolicy | text |  | Specifies the persistence policy for this mbean Valid options are: OnUpdate NoMoreOftenThan Never OnTimer | false
persistPeriod | text |  | Specifies when the mbean state will be saved. | false
persistLocation | text |  | Specifies the location for the mbean's state to be saved. | false
persistName | text |  | Specifies the name to identify the mbeans saved state with. | false
currencyTimeLimit | text |  | Specifies how long the mbeans state may be considered valid. | false
state-action-on-update | text |  | Specifies what the jboss state management should do when an attribute is updated on a started mbean. (jboss specific). | false
value | text |  | Specifies the (initial) value for the managed attribute. This is used in the jboss *-service.xml file and the xmbean descriptor. In both cases the result is the value is set as the initial value of the newly deployed mbean. | false
descriptor | text |  | Specifies an additional custom descriptor for the mbean that can be used in mbean infos. This should be of the form name="name" value="value". To make this work as an xdoclet parameter, you need to escape the double quotes: descriptor="name=\"name\" value=\"value\"" | false

### @jmx.managed-operation (0..1)

Defines a jmx managed operation. This method will be included in a standard mbean interface and marked as a managed operation in xmbean metadata. jmx.managed-parameter tags must be used to describe the parameters.

Applies to: The jmx.managed-operation tag can be used on any method.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
impact | text |  | Specifies the impact of the operation. Valid options are: ACTION INFO ACTION_INFO Default value(s): ACTION_INFO | false
description | text |  | Specifies a description for the managed operation that can be used in mbean infos. | false

## @jmx Field Level Tag Usage