You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bd...@metasolv.com on 2002/08/12 01:40:36 UTC

[SUBMIT] AntJMX

Ant Tasks: configureMBean, copyMBean, invokeMBean, removeMBean, showMBean

Purpose: Allow Ant tasks to interact with JMX MBeans.
My motivation was to provide tools for J2EE resource creation and 
management from Ant that I use to build/deploy application. 
(e.g. create my JDBC pool and JMS queues/topics before I deploy my 
entity and message driven beans...), but the tasks are general enough 
for much broader use.

The current implementation supports BEA WLS 6.x/7.x and JBoss 3.0.1RC1.
Support for the JSR77 standard, and other JMX implementations is planned.

In brief, the tasks provided are:

    configureMBean :    get/set MBean properties
    invokeMBean :       invoke an MBean operation
    copyMBean :         copies all the properties of an MBean to a new MBean
of
                        the same type
    removeMBean :       unregisters an MBean from the MBeanServer
    createMBean :       creates a new MBean
    showMBean :         writes information about the MBean to the Ant log

Here's a simple example of how configureMBean works follows:

	<configureMBean name="mydomain:Name=mypool,Type=JDBCConnectionPool" 
            failOnError="false" serverType="weblogic" user="system" 
            password="secret">
            <setAttribute name="MaxCapacity" value="${pool.size}"/> 
            <getAttribute name="TestTableName" property="testTable"/> 
        </configureMBean> 

Please refer to the user documentation for more information on all 
the tasks.

All constructive comments and feedback is very much appreciated.



Re: [SUBMIT] AntJMX

Posted by co...@covalent.net.
On Tue, 13 Aug 2002, David Jencks wrote:

> I like all of this.  I will repeat my previous assertion that ant has a
> great deal of functionality overlap with jmx and that ant 2 would be
> considerably simpler if it consisted of several mbeans to be run inside a
> jmx mbean server.

And why would that be in ant2 ? I was thinking in terms of add-ons 
for the current ant1.5. 

The nice thing about JMX is that it doesn't require you to implement any 
interface or do anything special - and the patterns are identical with
what ant uses. 

Each ant task is a very nice MBean - all that's missing is the XML 
descriptor for a model-mbean. With introspection-based mbeans ( like
DynamicMBean in tomcat ) you don't even need that.


> For comparison, the jboss xml format for specifying an mbean and its
> initial configuration is something like this:
> 
> <mbean code="org.somewhere.MyClass" name="myjmx.module:service=DoItNow">
>   <attribute name="att1">value</attribute>
>   <attribute name="att2">value2</attribute>
> </mbean>

Yes, that's exactly the format I was proposing for the jmx task (instead
of createMBean). 

Costin


> There are also ways to include constructor arguments and references to
> other mbeans (via ObjectNames) are handled in a special way.
> 
> These is some discussion as to the appropriateness of including both the
> existence and configuration of an mbean in the same configuration, but it
> works fairly well for us.
> 
> Thanks
> david jencks
> 
> On 2002.08.13 16:26:15 -0400 costinm@covalent.net wrote:
> > Excelent ! I was planning to do this myself.
> > 
> > If this is accepted, I think it would be a good idea to start
> >  a separate module ( i.e. a directory, in the style of jakarta-commons ) 
> > for all jmx-related tasks. This will eventually generate an antlib
> > ( assuming we agree on the antlib semantics ).
> > 
> > There are few other jmx related things I would like to see ( and 
> > I'll do as soon as I find the time ). One is to use modeler to 
> > create a JMX layer on top of ant - i.e. applications embeding ant
> > can use JMX to load it and configure it. Each task can be 
> > easily wrapped in a DynamicMBean ( or ModelMBean ). The other
> > thing is to add a task for modeler, to allow arbitrary objects
> > to be JMX-enabled. 
> > 
> > I'm not very sure about the syntax used ( configureMBean,... ). 
> > It would be worth supporting something like:
> > <mbean> 
> >   <attribute name="foo">value</attribute>
> >   ...
> > </mbean>
> > ( for creation of an mbean )
> > 
> > showMBean should follow the properties semantics ( or the new dynamic
> > properties ? ), i.e. set a property from the attribute value. 
> > 
> > For invokeMBean - I was planning to use a new TaskAdapter that 
> > would 'wrap' the MBean as a regular ant task. 
> > 
> > There are other details like that - but overall I think it's a good
> > idea and is worth pushing it.
> > 
> > I'll wait for feedback from other ant developers - if it doesn't
> > get into the main tree I would be happy to import it for now in the
> > embed/ proposal ( that would also make it useable with ant1.5 ).
> > If it gets in the main tree I'll try to hack the build process
> > so that the embed gets the new tasks.
> > 
> > Costin
> > 
> > 
> > On Sun, 11 Aug 2002 bdueck@metasolv.com wrote:
> > 
> > > 
> > > Ant Tasks: configureMBean, copyMBean, invokeMBean, removeMBean,
> > showMBean
> > > 
> > > Purpose: Allow Ant tasks to interact with JMX MBeans.
> > > My motivation was to provide tools for J2EE resource creation and 
> > > management from Ant that I use to build/deploy application. 
> > > (e.g. create my JDBC pool and JMS queues/topics before I deploy my 
> > > entity and message driven beans...), but the tasks are general enough 
> > > for much broader use.
> > > 
> > > The current implementation supports BEA WLS 6.x/7.x and JBoss 3.0.1RC1.
> > > Support for the JSR77 standard, and other JMX implementations is
> > planned.
> > > 
> > > In brief, the tasks provided are:
> > > 
> > >     configureMBean :    get/set MBean properties
> > >     invokeMBean :       invoke an MBean operation
> > >     copyMBean :         copies all the properties of an MBean to a new
> > MBean
> > > of
> > >                         the same type
> > >     removeMBean :       unregisters an MBean from the MBeanServer
> > >     createMBean :       creates a new MBean
> > >     showMBean :         writes information about the MBean to the Ant
> > log
> > > 
> > > Here's a simple example of how configureMBean works follows:
> > > 
> > > 	<configureMBean name="mydomain:Name=mypool,Type=JDBCConnectionPool"
> > 
> > >             failOnError="false" serverType="weblogic" user="system" 
> > >             password="secret">
> > >             <setAttribute name="MaxCapacity" value="${pool.size}"/> 
> > >             <getAttribute name="TestTableName" property="testTable"/> 
> > >         </configureMBean> 
> > > 
> > > Please refer to the user documentation for more information on all 
> > > the tasks.
> > > 
> > > All constructive comments and feedback is very much appreciated.
> > > 
> > > 
> > > 
> > 
> > 
> > --
> > To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> > For additional commands, e-mail: <ma...@jakarta.apache.org>
> > 
> > 
> > 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
> 
> 


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [SUBMIT] AntJMX

Posted by David Jencks <da...@directvinternet.com>.
I like all of this.  I will repeat my previous assertion that ant has a
great deal of functionality overlap with jmx and that ant 2 would be
considerably simpler if it consisted of several mbeans to be run inside a
jmx mbean server.

For comparison, the jboss xml format for specifying an mbean and its
initial configuration is something like this:

<mbean code="org.somewhere.MyClass" name="myjmx.module:service=DoItNow">
  <attribute name="att1">value</attribute>
  <attribute name="att2">value2</attribute>
</mbean>

There are also ways to include constructor arguments and references to
other mbeans (via ObjectNames) are handled in a special way.

These is some discussion as to the appropriateness of including both the
existence and configuration of an mbean in the same configuration, but it
works fairly well for us.

Thanks
david jencks

On 2002.08.13 16:26:15 -0400 costinm@covalent.net wrote:
> Excelent ! I was planning to do this myself.
> 
> If this is accepted, I think it would be a good idea to start
>  a separate module ( i.e. a directory, in the style of jakarta-commons ) 
> for all jmx-related tasks. This will eventually generate an antlib
> ( assuming we agree on the antlib semantics ).
> 
> There are few other jmx related things I would like to see ( and 
> I'll do as soon as I find the time ). One is to use modeler to 
> create a JMX layer on top of ant - i.e. applications embeding ant
> can use JMX to load it and configure it. Each task can be 
> easily wrapped in a DynamicMBean ( or ModelMBean ). The other
> thing is to add a task for modeler, to allow arbitrary objects
> to be JMX-enabled. 
> 
> I'm not very sure about the syntax used ( configureMBean,... ). 
> It would be worth supporting something like:
> <mbean> 
>   <attribute name="foo">value</attribute>
>   ...
> </mbean>
> ( for creation of an mbean )
> 
> showMBean should follow the properties semantics ( or the new dynamic
> properties ? ), i.e. set a property from the attribute value. 
> 
> For invokeMBean - I was planning to use a new TaskAdapter that 
> would 'wrap' the MBean as a regular ant task. 
> 
> There are other details like that - but overall I think it's a good
> idea and is worth pushing it.
> 
> I'll wait for feedback from other ant developers - if it doesn't
> get into the main tree I would be happy to import it for now in the
> embed/ proposal ( that would also make it useable with ant1.5 ).
> If it gets in the main tree I'll try to hack the build process
> so that the embed gets the new tasks.
> 
> Costin
> 
> 
> On Sun, 11 Aug 2002 bdueck@metasolv.com wrote:
> 
> > 
> > Ant Tasks: configureMBean, copyMBean, invokeMBean, removeMBean,
> showMBean
> > 
> > Purpose: Allow Ant tasks to interact with JMX MBeans.
> > My motivation was to provide tools for J2EE resource creation and 
> > management from Ant that I use to build/deploy application. 
> > (e.g. create my JDBC pool and JMS queues/topics before I deploy my 
> > entity and message driven beans...), but the tasks are general enough 
> > for much broader use.
> > 
> > The current implementation supports BEA WLS 6.x/7.x and JBoss 3.0.1RC1.
> > Support for the JSR77 standard, and other JMX implementations is
> planned.
> > 
> > In brief, the tasks provided are:
> > 
> >     configureMBean :    get/set MBean properties
> >     invokeMBean :       invoke an MBean operation
> >     copyMBean :         copies all the properties of an MBean to a new
> MBean
> > of
> >                         the same type
> >     removeMBean :       unregisters an MBean from the MBeanServer
> >     createMBean :       creates a new MBean
> >     showMBean :         writes information about the MBean to the Ant
> log
> > 
> > Here's a simple example of how configureMBean works follows:
> > 
> > 	<configureMBean name="mydomain:Name=mypool,Type=JDBCConnectionPool"
> 
> >             failOnError="false" serverType="weblogic" user="system" 
> >             password="secret">
> >             <setAttribute name="MaxCapacity" value="${pool.size}"/> 
> >             <getAttribute name="TestTableName" property="testTable"/> 
> >         </configureMBean> 
> > 
> > Please refer to the user documentation for more information on all 
> > the tasks.
> > 
> > All constructive comments and feedback is very much appreciated.
> > 
> > 
> > 
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
> 
> 
> 

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [SUBMIT] AntJMX

Posted by co...@covalent.net.
Excelent ! I was planning to do this myself.

If this is accepted, I think it would be a good idea to start
 a separate module ( i.e. a directory, in the style of jakarta-commons ) 
for all jmx-related tasks. This will eventually generate an antlib
( assuming we agree on the antlib semantics ).

There are few other jmx related things I would like to see ( and 
I'll do as soon as I find the time ). One is to use modeler to 
create a JMX layer on top of ant - i.e. applications embeding ant
can use JMX to load it and configure it. Each task can be 
easily wrapped in a DynamicMBean ( or ModelMBean ). The other
thing is to add a task for modeler, to allow arbitrary objects
to be JMX-enabled. 

I'm not very sure about the syntax used ( configureMBean,... ). 
It would be worth supporting something like:
<mbean> 
  <attribute name="foo">value</attribute>
  ...
</mbean>
( for creation of an mbean )

showMBean should follow the properties semantics ( or the new dynamic
properties ? ), i.e. set a property from the attribute value. 

For invokeMBean - I was planning to use a new TaskAdapter that 
would 'wrap' the MBean as a regular ant task. 

There are other details like that - but overall I think it's a good
idea and is worth pushing it.

I'll wait for feedback from other ant developers - if it doesn't
get into the main tree I would be happy to import it for now in the
embed/ proposal ( that would also make it useable with ant1.5 ).
If it gets in the main tree I'll try to hack the build process
so that the embed gets the new tasks.

Costin


On Sun, 11 Aug 2002 bdueck@metasolv.com wrote:

> 
> Ant Tasks: configureMBean, copyMBean, invokeMBean, removeMBean, showMBean
> 
> Purpose: Allow Ant tasks to interact with JMX MBeans.
> My motivation was to provide tools for J2EE resource creation and 
> management from Ant that I use to build/deploy application. 
> (e.g. create my JDBC pool and JMS queues/topics before I deploy my 
> entity and message driven beans...), but the tasks are general enough 
> for much broader use.
> 
> The current implementation supports BEA WLS 6.x/7.x and JBoss 3.0.1RC1.
> Support for the JSR77 standard, and other JMX implementations is planned.
> 
> In brief, the tasks provided are:
> 
>     configureMBean :    get/set MBean properties
>     invokeMBean :       invoke an MBean operation
>     copyMBean :         copies all the properties of an MBean to a new MBean
> of
>                         the same type
>     removeMBean :       unregisters an MBean from the MBeanServer
>     createMBean :       creates a new MBean
>     showMBean :         writes information about the MBean to the Ant log
> 
> Here's a simple example of how configureMBean works follows:
> 
> 	<configureMBean name="mydomain:Name=mypool,Type=JDBCConnectionPool" 
>             failOnError="false" serverType="weblogic" user="system" 
>             password="secret">
>             <setAttribute name="MaxCapacity" value="${pool.size}"/> 
>             <getAttribute name="TestTableName" property="testTable"/> 
>         </configureMBean> 
> 
> Please refer to the user documentation for more information on all 
> the tasks.
> 
> All constructive comments and feedback is very much appreciated.
> 
> 
> 


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>