CreateMBean

Description

A task to allow a JMX MBean to be created and the attributes of the newly created MBean to be retrieved or changed.

Note: This task depends on external libraries that are not included in the Ant distribution.

Parameters

Attribute Description Required
type Specifies the type or class name of the MBean to create. No
ifExists Specifies the action to take if an MBean already exists with the same name as specified by name. Valid values are:
fail : Fail the task if the MBean already exists

skip : Skip this task if the MBean already exists

replace : Delete and replace the MBean

warn : Log a message if the mbean to be created already exists, but leave the existing mbean in place without any modification. Any nested setAttribute elements will be ignored.
replaceAttributes : Leave the existing mbean in place but will process any nested setAttribute elements.
The default value is fail.
No
mbeanref A reference to a mbean type.

If a reference to an mbean is specified, then the name, serverType, providerUrl, jndiName, user, and password attributes of this task are not used.
No
name The object name of the JMX MBean. This name follows the standard JMX ObjectName form of:
[domainName]:[property=value][,property=value]*
Here are some examples for weblogic:
mydomain:Name=myconnectionPool,Type=JDBCConnectionPool

:Name=myconnectionPool,Type=JDBCConnectionPool
Here are some examples for jboss:
jboss.system:service=MainDeployer

jboss.system:type=Server
Yes

Unless mbeanref is set
serverType The type of server involved. Valid values are weblogic, jboss, or jboss.ejb. The setting of this value determines the default value for the jndiName and providerUrl attributes.

NOTE:If this value is other than weblogic, jboss, or jboss.ejb then it is assumed to be a fully qualified class name that implements org.apache.tools.ant.taskdefs.optional.jmx.connector.JMXConnector. This is used to support additional types of servers without modifying the Ant JMX task classes.
Yes

Unless mbeanref is set
providerUrl The JNDI providerUrl for the JMX MBean server. If serverType is set to weblogic, the default value is t3://localhost:7001. If serverType is set to jboss, the default value is jnp://localhost:1099. No
jndiName The JNDI name for the JMX MBeanServer. If serverType is set to weblogic, the default value is weblogic.management.adminhome. If serverType is set to jboss, the default value is jmx:<hostname>:rmi. No
user The user name used for authentication with the JMX server. No
password The password used for authentication with the JMX server. No
failOnError If an error is detected (e.g. can't contact server, bad login, etc.), should this cause the task to fail? The default value is false, meaning a warning message will be logged but the build will continue. No

Parameters specified as nested elements

setAttribute

Changes the value of an MBean attribute. It take the following attributes:

Attribute Description Required
name The name of the attribute. Yes
value The new value for the attribute. Yes

getAttribute

Retrieves the value of an MBean attribute. It take the following attributes:

Attribute Description Required
name The name of the attribute. Yes
property The name of the Ant property that will receive the property value. The default value is the attribute name - meaning that an Ant property with the same name as the attribute name will be created. No

Examples

Creates a new JDBCConnectionPool MBean called myPool, replacing it if it already exists. The values of several attributes on the new MBean are also set. The new MBean is in the domain mydomain accessible at the providerUrl t3://localhost:7001.
<createMBean name="mydomain:Name=myPool" type="JDBCConnectionPool"
    ifExists="replace" serverType="weblogic" providerUrl="t3://localhost:7001" user="system" password="secret">
   <setAttribute name="Properties" value="user=system server=oradb"/>
   <setAttribute name="Password" value="secret"/>
   <setAttribute name="DriverName" value="weblogic.jdbc.oci.xa.XADataSource"/>
   <setAttribute name="InitialCapacity" value="5"/>
   <setAttribute name="MaxCapacity" value="50"/>
   <setAttribute name="Targets">:Name=myserver,Type=Server</setAttribute>
</configureMBean>

$Id: CreateMBeanTask.html,v 1.3 2003/05/28 22:26:30 bdueck Exp $

Copyright © 2002 Apache Software Foundation. All rights Reserved.