##### XDoclet

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

##### Ant Task Reference

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

##### Tag Reference

- apache (@soap @struts @axis)
- 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

##### 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.managed-parameter

### @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.managed-parameter (0..*)

Defines an argument for a managed operation or managed constructor. NOTE: this tag is somewhat defective in that some of the info (type) can be determined automatically and there is no check that the number of parameters or their types specified actually match the method. You should expect the usage of this tag to change without notice.

Applies to: jmx.managed-parameter tag can be used on constructors and operations with arguments.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | Specifies a name for the operation or constructor argument. This can be different from the name used in java code. | true
description | text |  | Specifies a description for the operation or constructor argument. | false
type | text |  | The type of the argument. This should be determined from the method signature. | true
value | text |  | A string representation of the value for the managed argument. Only useful for constructor arguments. | false

## @jmx Field Level Tag Usage