hey looking good looking good,

How do WSDL defined interfaces work with this?

my guess is that a MBean in the server would take a WSDL compliant (IDL like
definition) and be able to generate a call that complies to our own dtd...

right, the goal is to be able to fully support webservices in JBoss3.0, yep
you got it :)

marcf
|-----Original Message-----
|From: [EMAIL PROTECTED]
|[mailto:[EMAIL PROTECTED]]On Behalf Of
|[EMAIL PROTECTED]
|Sent: Tuesday, June 26, 2001 1:29 AM
|To: [EMAIL PROTECTED]
|Subject: [JBoss-dev] CVS update: jboss/src/main/org/jboss/jmx/server
|XMLAdaptor.dtd XMLAdaptorImpl.java XMLTestService.java
|
|
|  User: schaefera
|  Date: 01/06/25 22:29:13
|
|  Modified:    src/main/org/jboss/jmx/server XMLAdaptorImpl.java
|                        XMLTestService.java
|  Added:       src/main/org/jboss/jmx/server XMLAdaptor.dtd
|  Log:
|  Added all the major methods to the XML Adaptor which make sense. I also
|  added a DTD for the XML file but it is only Alpha release.
|
|  Revision  Changes    Path
|  1.3       +236 -52
|jboss/src/main/org/jboss/jmx/server/XMLAdaptorImpl.java
|
|  Index: XMLAdaptorImpl.java
|  ===================================================================
|  RCS file:
|/cvsroot/jboss/jboss/src/main/org/jboss/jmx/server/XMLAdaptorImpl.java,v
|  retrieving revision 1.2
|  retrieving revision 1.3
|  diff -u -r1.2 -r1.3
|  --- XMLAdaptorImpl.java      2001/06/25 18:28:52     1.2
|  +++ XMLAdaptorImpl.java      2001/06/26 05:29:13     1.3
|  @@ -16,30 +16,27 @@
|   import javax.management.AttributeList;
|   import javax.management.ObjectName;
|   import javax.management.ObjectInstance;
|  -// import javax.management.AttributeNotFoundException;
|  -// import javax.management.InstanceNotFoundException;
|  -// import javax.management.InvalidAttributeValueException;
|   import javax.management.MalformedObjectNameException;
|   import javax.management.MBeanAttributeInfo;
|  +import javax.management.MBeanInfo;
|   import javax.management.MBeanException;
|   import javax.management.MBeanServer;
|  -// import javax.management.ReflectionException;
|   import javax.naming.InitialContext;
|
|   import org.w3c.dom.Document;
|   import org.w3c.dom.Element;
|   import org.w3c.dom.Node;
|   import org.w3c.dom.NodeList;
|  +import org.w3c.dom.Text;
|
|   /**
|   * XML Adaptor Implementation interpreting the XML wrapped JMX commands.
|   *
|   * @author Andreas Schaefer ([EMAIL PROTECTED])
|   * @created June 22, 2001
|  -* @version $Revision: 1.2 $
|  +* @version $Revision: 1.3 $
|   */
|  -public class XMLAdaptorImpl
|  -{
|  +public class XMLAdaptorImpl {
|     // Constants -----------------------------------------------------
|
|     // Attributes ----------------------------------------------------
|  @@ -77,6 +74,17 @@
|
|     // Public --------------------------------------------------------
|
|  +  /**
|  +  * Performs a set of calls to the MBean Server and returns
|  +  * it return values.
|  +  *
|  +  * @param pJmxOperations Complete XML Document (compliant to the
|  +  *                       XMLAdaptor.dtd) containing a list of calls
|  +  *                       to the MBean Server.
|  +  *
|  +  * @return List of return values, one for each call. If the
|call doesn't
|  +  *         have a return value of the operation failed it will be null.
|  +  **/
|     public Object[] invokeXML( Document pJmxOperations ) {
|       Vector lReturns = new Vector();
|       NodeList lRoot = pJmxOperations.getChildNodes();
|  @@ -92,6 +100,15 @@
|       return (Object[]) lReturns.toArray( new Object[ 0 ] );
|     }
|
|  +  /**
|  +  * Performs a single call to the MBean Server and return its
|return value
|  +  *
|  +  * @param pJmxOperation Second level element (compliant to
|XMLAdaptor.dtd)
|  +  *                      representing one call to the MBean Server
|  +  *
|  +  * @return Return value of the call or null if call failed or
|doesn't have
|  +  *         a return value.
|  +  **/
|     public Object invokeXML( Element pJmxOperation ) {
|       if( pJmxOperation == null ) {
|         return null;
|  @@ -99,63 +116,96 @@
|       // Get the requested operation
|       String lTag = pJmxOperation.getTagName();
|       System.out.println( "XMLAdaptorImpl.invokeXML(), Tag: " + lTag );
|  -    if( "invoke".equals( lTag ) ) {
|  +    if( "create-mbean".equals( lTag ) ) {
|  +      return createMBean(
|  +        pJmxOperation.getAttribute( "code" ),
|  +        getObjectName(
|  +          pJmxOperation.getAttribute( "name" ),
|  +          pJmxOperation.getElementsByTagName( "object-name" )
|  +        ),
|  +        pJmxOperation.getElementsByTagName( "constructor" ),
|  +        pJmxOperation.getElementsByTagName( "attribute" )
|  +      );
|  +    }
|  +    else if( "invoke".equals( lTag ) ) {
|         // Get the operation, Object Name and attributes and invoke it
|         String lOperation = pJmxOperation.getAttribute( "operation" );
|         return invoke(
|           lOperation,
|  -        pJmxOperation.getElementsByTagName( "object-name" ),
|  +        getObjectName( pJmxOperation.getElementsByTagName(
|"object-name" ) ),
|           pJmxOperation.getElementsByTagName( "attribute" )
|         );
|       }
|  -    else if( !"create-mbean".equals( lTag ) ) {
|  -        NodeList lList = pJmxOperation.getElementsByTagName(
|"object-name" );
|  -      // Get the operation, Object Name and attributes and invoke it
|  -      String lCodebase = pJmxOperation.getAttribute( "code" );
|  -      String lName = pJmxOperation.getAttribute( "name" );
|  -      return createMBean(
|  -        lCodebase,
|  -        lName,
|  -        pJmxOperation.getElementsByTagName( "object-name" ),
|  -        pJmxOperation.getElementsByTagName( "constructor" ),
|  +    else if( !"get-attribute".equals( lTag ) ) {
|  +      return get(
|  +        getObjectName( pJmxOperation.getElementsByTagName(
|"object-name" ) ),
|  +        pJmxOperation.getElementsByTagName( "attribute" )
|  +      );
|  +    }
|  +    else if( !"set-attribute".equals( lTag ) ) {
|  +      return set(
|  +        getObjectName( pJmxOperation.getElementsByTagName(
|"object-name" ) ),
|           pJmxOperation.getElementsByTagName( "attribute" )
|         );
|       }
|  +    else if( !"mbean-count".equals( lTag ) ) {
|  +      return mServer.getMBeanCount();
|  +    }
|  +    else if( !"mbean-info".equals( lTag ) ) {
|  +      return getMBeanInfo(
|  +        getObjectName( pJmxOperation.getElementsByTagName(
|"object-name" ) )
|  +      );
|  +    }
|  +    else if( !"object-instance".equals( lTag ) ) {
|  +      return getObjectInstance(
|  +        getObjectName( pJmxOperation.getElementsByTagName(
|"object-name" ) )
|  +      );
|  +    }
|  +    else if( !"is-instance-of".equals( lTag ) ) {
|  +      return isInstanceOf(
|  +        getObjectName( pJmxOperation.getElementsByTagName(
|"object-name" ) ),
|  +        pJmxOperation.getAttribute( "code" )
|  +      );
|  +    }
|  +    else if( !"is-registered".equals( lTag ) ) {
|  +      return isRegistered(
|  +        getObjectName( pJmxOperation.getElementsByTagName(
|"object-name" ) )
|  +      );
|  +    }
|  +    else if( !"unregister-mbean".equals( lTag ) ) {
|  +      return unregisterMBean(
|  +        getObjectName( pJmxOperation.getElementsByTagName(
|"object-name" ) )
|  +      );
|  +    }
|       return null;
|     }
|
|     public ObjectName createMBean(
|       String pCodebase,
|  -    String pName,
|  -    NodeList pObjectName,
|  +    ObjectName pName,
|       NodeList pConstructor,
|       NodeList pAttributes
|     ) {
|  +    System.out.println( "XMLAdaptorImpl.createMBean(), code: "
|+ pCodebase + ", name: " + pName );
|       ObjectName lReturn = null;
|       // Check Codebase
|       if( pCodebase != null && !pCodebase.equals( "" ) ) {
|         try {
|  -        // Create ObjectName
|  -        ObjectName lName = null;
|  -        if( pName != null && !pName.equals( "" ) ) {
|  -          lName = createObjectName( pName );
|  -        }
|  -        else if( pObjectName != null && pObjectName.getLength() > 0 ) {
|  -          lName = createObjectName( (Element) pObjectName.item( 0 ) );
|  -        }
|  -        if( lName != null ) {
|  +        if( pName != null ) {
|             ObjectInstance lNew = null;
|             if( pConstructor.getLength() == 0 ) {
|  -            lNew = mServer.createMBean( pCodebase, lName );
|  +            System.out.println( "XMLAdaptorImpl.createMBean(),
|create w/o arguments" );
|  +            lNew = mServer.createMBean( pCodebase, pName );
|             }
|             else {
|               // Get the Constructor Values
|               Object[][] lAttributes = getAttributes(
|                 ( (Element) pConstructor.item( 0 )
|).getElementsByTagName( "argument" )
|               );
|  +            System.out.println( "XMLAdaptorImpl.createMBean(),
|create with arguments" );
|               lNew = mServer.createMBean(
|                 pCodebase,
|  -              lName,
|  +              pName,
|                 lAttributes[ 0 ],
|                 (String[]) lAttributes[ 1 ]
|               );
|  @@ -172,6 +222,7 @@
|             );
|
|             lReturn = lNew.getObjectName();
|  +          System.out.println( "XMLAdaptorImpl.createMBean(),
|Object Name to return: " + lReturn );
|           }
|         }
|         catch( Exception e ) {
|  @@ -181,21 +232,18 @@
|       return lReturn;
|     }
|
|  -  public Object invoke( String pOperation, NodeList
|pObjectName, NodeList pAttributes ) {
|  +  public Object invoke( String pOperation, ObjectName pName,
|NodeList pAttributes ) {
|       Object lReturn = null;
|       System.out.println( "XMLAdaptorImpl.invoke(), Operation: "
|+ pOperation );
|  -    if( pOperation != null && !pOperation.equals( "" ) &&
|  -        pObjectName != null && pObjectName.getLength() > 0 )
|  -    {
|  +    if( pOperation != null && !pOperation.equals( "" ) && pName
|!= null  ) {
|         try {
|  -        ObjectName lName = createObjectName( (Element)
|pObjectName.item( 0 ) );
|           if( pAttributes != null && pAttributes.getLength() > 0 ) {
|             Object[][] lAttributes = getAttributes(
|               pAttributes
|             );
|             // Invoke the method and return the value
|             lReturn = mServer.invoke(
|  -            lName,
|  +            pName,
|               pOperation,
|               lAttributes[ 0 ],
|               (String[]) lAttributes[ 1 ]
|  @@ -204,7 +252,7 @@
|           else {
|             // Invoke the method and return the value
|             lReturn = mServer.invoke(
|  -            lName,
|  +            pName,
|               pOperation,
|               new Object[] {},
|               new String[] {}
|  @@ -217,8 +265,109 @@
|       }
|       return lReturn;
|     }
|  +
|  +  public Object[] get( ObjectName pName, NodeList pAttributes ) {
|  +    try {
|  +      if( pName != null ) {
|  +        Object[][] lAttributes = getAttributes( pName, pAttributes );
|  +        String[] lNames = (String[]) lAttributes[ 1 ];
|  +        return getAttributeValues( mServer.getAttributes(
|pName, lNames ) );
|  +      }
|  +    }
|  +    catch( Exception e ) {
|  +      e.printStackTrace();
|  +    }
|  +    return null;
|  +  }
|  +
|  +  public Object[] set( ObjectName pName, NodeList pAttributes ) {
|  +    try {
|  +      if( pName != null ) {
|  +        Object[][] lAttributes = getAttributes( pName, pAttributes );
|  +        return applyAttributes( pName, (String[]) lAttributes[
|1 ], lAttributes[ 0 ] );
|  +      }
|  +    }
|  +    catch( Exception e ) {
|  +      e.printStackTrace();
|  +    }
|  +    return null;
|  +  }
|  +
|  +  public MBeanInfo getMBeanInfo( ObjectName pName ) {
|  +    try {
|  +      return mServer.getMBeanInfo( pName );
|  +    }
|  +    catch( Exception e ) {
|  +      e.printStackTrace();
|  +    }
|  +    return null;
|  +  }
|  +
|  +  public ObjectInstance getObjectInstance( ObjectName pName ) {
|  +    try {
|  +      return mServer.getObjectInstance( pName );
|  +    }
|  +    catch( Exception e ) {
|  +      e.printStackTrace();
|  +    }
|  +    return null;
|  +  }
|  +
|  +  public Boolean isInstanceOf( ObjectName pName, String pCodebase ) {
|  +    try {
|  +      return new Boolean( mServer.isInstanceOf( pName, pCodebase ) );
|  +    }
|  +    catch( Exception e ) {
|  +      e.printStackTrace();
|  +    }
|  +    return null;
|  +  }
|  +
|  +  public Boolean isRegistered( ObjectName pName ) {
|  +    try {
|  +      return new Boolean( mServer.isRegistered( pName ) );
|  +    }
|  +    catch( Exception e ) {
|  +      e.printStackTrace();
|  +    }
|  +    return null;
|  +  }
|  +
|  +  public Object unregisterMBean( ObjectName pName ) {
|  +    try {
|  +      mServer.unregisterMBean( pName );
|  +    }
|  +    catch( Exception e ) {
|  +      e.printStackTrace();
|  +    }
|  +    return null;
|  +  }
|  +
|     // Protected -----------------------------------------------------
|
|  +  protected ObjectName getObjectName( NodeList pObjectName ) {
|  +    return getObjectName( null, pObjectName );
|  +  }
|  +
|  +  protected ObjectName getObjectName( String pName, NodeList
|pObjectName ) {
|  +    ObjectName lName = null;
|  +    try {
|  +      // Create ObjectName
|  +      if( pName != null && !pName.equals( "" ) ) {
|  +        System.out.println( "XMLAdaptorImpl.getObjectName(),
|name: " + pName );
|  +        lName = createObjectName( pName );
|  +      }
|  +      else if( pObjectName != null && pObjectName.getLength() > 0 ) {
|  +        System.out.println( "XMLAdaptorImpl.getObjectName(),
|name element: " + pObjectName.item( 0 ) );
|  +        lName = createObjectName( (Element) pObjectName.item( 0 ) );
|  +      }
|  +    }
|  +    catch( Exception e ) {
|  +      e.printStackTrace();
|  +    }
|  +    return lName;
|  +  }
|  +
|     protected ObjectName createObjectName( String pName )
|       throws
|         MalformedObjectNameException
|  @@ -242,24 +391,36 @@
|         NodeList lPropertyList =
|pObjectName.getElementsByTagName( "property" );
|         for( int i = 0; i < lPropertyList.getLength(); i++ ) {
|           Element lProperty = (Element) lPropertyList.item( i );
|  -        if( lProperty.hasAttribute( "key" ) &&
|lProperty.hasAttribute( "value" ) ) {
|  -          lProperties.put( lProperty.getAttribute( "key" ),
|lProperty.getAttribute( "value" ) );
|  +        if( lProperty.hasAttribute( "key" ) &&
|lProperty.hasChildNodes() ) {
|  +          lProperties.put( lProperty.getAttribute( "key" ), (
|(Text) lProperty.getFirstChild()).getData() );
|           }
|         }
|         return new ObjectName( lDomain, lProperties );
|       }
|     }
|
|  +  /**
|  +  * Returns a list of attribute objects and types of a given Node List
|  +  * which must contain a attribute "type" and a text child.
|  +  *
|  +  * @param pAttributes List of nodes containing the attribute
|types and values
|  +  *
|  +  * @return First Array contains the objects created from the
|type and value string,
|  +  *         Second Array contains the types as String
|  +  **/
|     protected Object[][] getAttributes( NodeList pAttributes ) {
|  -    Object[] lReturn = new Object[ 2 ];
|  +    Object[][] lReturn = new Object[ 2 ][ 0 ];
|       Object[] lValues = new Object[ pAttributes.getLength() ];
|       String[] lTypes = new String[ pAttributes.getLength() ];
|       // Loop through argument list and create type and values
|       for( int i = 0; i < pAttributes.getLength(); i++ ) {
|         try {
|  -        Element lArgument = (Element) pAttributes.item( 0 );
|  +        Element lArgument = (Element) pAttributes.item( i );
|           String lTypeString = lArgument.getAttribute( "type" );
|  -        String lValueString = lArgument.getAttribute( "value" );
|  +        String lValueString = "";
|  +        if( lArgument.hasChildNodes() ) {
|  +          lValueString = ( (Text) lArgument.getFirstChild() ).getData();
|  +        }
|           Class lClass = null;
|           if( mPrimitives.containsKey( lTypeString ) ) {
|             lClass = (Class) mPrimitives.get( lTypeString );
|  @@ -280,18 +441,31 @@
|       lReturn[ 1 ] = lTypes;
|       return (Object[][]) lReturn;
|     }
|  +
|  +  /**
|  +  * Returns a list of attribute objects and name of a given Node List
|  +  * which must contain a attribute "name" and a text child.
|  +  *
|  +  * @param pAttributes List of nodes containing the attribute
|types and values
|  +  *
|  +  * @return First Array contains the objects created from the
|type and value string,
|  +  *         Second Array contains the Attribute Names as String
|  +  **/
|     protected Object[][] getAttributes( ObjectName pName,
|NodeList pAttributes ) {
|  -    Object[] lReturn = new Object[ 2 ];
|  +    Object[][] lReturn = new Object[ 2 ][ 0 ];
|       Object[] lValues = new Object[ pAttributes.getLength() ];
|  -    String[] lTypes = new String[ pAttributes.getLength() ];
|  +    String[] lNames = new String[ pAttributes.getLength() ];
|
|       try {
|         MBeanAttributeInfo[] attributes = mServer.getMBeanInfo(
|pName ).getAttributes();
|         // Loop through argument list and create type and values
|         for( int i = 0; i < pAttributes.getLength(); i++ ) {
|  -        Element lArgument = (Element) pAttributes.item( 0 );
|  +        Element lArgument = (Element) pAttributes.item( i );
|           String lNameString = lArgument.getAttribute( "name" );
|  -        String lValueString = lArgument.getAttribute( "value" );
|  +        String lValueString = "";
|  +        if( lArgument.hasChildNodes() ) {
|  +          lValueString = ( (Text) lArgument.getFirstChild() ).getData();
|  +        }
|           for( int k = 0; k < attributes.length; k++ ) {
|             if( attributes[ k ].getName().equals( lNameString ) ) {
|               String lTypeString = attributes[ k ].getType();
|  @@ -305,7 +479,7 @@
|               PropertyEditor lEditor =
|PropertyEditorManager.findEditor( lClass );
|               lEditor.setAsText( lValueString );
|               lValues[ i ] = lEditor.getValue();
|  -            lTypes[ i ] = lClass.getName();
|  +            lNames[ i ] = lClass.getName();
|             }
|           }
|         }
|  @@ -314,11 +488,11 @@
|         e.printStackTrace();
|       }
|       lReturn[ 0 ] = lValues;
|  -    lReturn[ 1 ] = lTypes;
|  +    lReturn[ 1 ] = lNames;
|       return (Object[][]) lReturn;
|     }
|
|  -  protected void applyAttributes(
|  +  protected Object[] applyAttributes(
|       ObjectName pName,
|       String[] pNames,
|       Object[] pValues
|  @@ -334,12 +508,22 @@
|                 lList.add( new Attribute( lName, pValues[ i ] ) );
|               }
|             }
|  -          mServer.setAttributes( pName, lList );
|  +          return getAttributeValues( mServer.setAttributes(
|pName, lList ) );
|           }
|         }
|       }
|       catch( Exception e ) {
|         e.printStackTrace();
|       }
|  +    return null;
|     }
|  +
|  +  protected Object[] getAttributeValues( AttributeList pList ) {
|  +    Object[] lReturn = new Object[ pList.size() ];
|  +    for( int i = 0; i < pList.size(); i++ ) {
|  +      lReturn[ i ] = ( (Attribute) pList.get( i ) ).getValue();
|  +    }
|  +    return lReturn;
|  +  }
|  +
|   }
|
|
|
|  1.3       +20 -3
|jboss/src/main/org/jboss/jmx/server/XMLTestService.java
|
|  Index: XMLTestService.java
|  ===================================================================
|  RCS file:
|/cvsroot/jboss/jboss/src/main/org/jboss/jmx/server/XMLTestService.java,v
|  retrieving revision 1.2
|  retrieving revision 1.3
|  diff -u -r1.2 -r1.3
|  --- XMLTestService.java      2001/06/25 18:28:52     1.2
|  +++ XMLTestService.java      2001/06/26 05:29:13     1.3
|  @@ -24,7 +24,7 @@
|   *
|   * @author Andreas Schaefer ([EMAIL PROTECTED])
|   * @created June 22, 2001
|  -* @version $Revision: 1.2 $
|  +* @version $Revision: 1.3 $
|   */
|   public class XMLTestService
|     extends ServiceMBeanSupport
|  @@ -75,8 +75,25 @@
|         // Create Test XML Document
|         Document lTest =
|DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(
|           new StringBufferInputStream(
|  -          "<jmx><invoke operation=\"stop\"><object-name
|name=\":service=Scheduler\"/>" +
|  -          "</invoke></jmx>"
|  +          "<jmx>" +
|  +          "<invoke operation=\"stop\"><object-name
|name=\":service=Scheduler\"/></invoke>" +
|  +          "<create-mbean code=\"org.jboss.util.Scheduler\">" +
|  +            "<object-name name=\":service=Scheduler\"/>" +
|  +            "<constructor>" +
|  +              "<argument
|type=\"java.lang.String\">:server=Scheduler</argument>" +
|  +              "<argument
|type=\"java.lang.String\">org.jboss.util.Scheduler$SchedulableExamp
|le</argument>" +
|  +              "<argument type=\"java.lang.String\">Schedulable
|Test,12345</argument>" +
|  +              "<argument
|type=\"java.lang.String\">java.lang.String,int</argument>" +
|  +              "<argument type=\"long\">0</argument>" +
|  +              "<argument type=\"long\">10000</argument>" +
|  +              "<argument type=\"long\">-1</argument>" +
|  +            "</constructor>" +
|  +          "</create-mbean>" +
|  +          "<set-attribute>" +
|  +            "<object-name name=\":service=Scheduler\"/>" +
|  +            "<attribute name=\"PeriodTime\">5000</attribute>" +
|  +          "</set-attribute>" +
|  +          "</jmx>"
|           )
|         );
|         System.out.println( "Call invokeXML with: " + lTest );
|
|
|
|  1.1                  jboss/src/main/org/jboss/jmx/server/XMLAdaptor.dtd
|
|  Index: XMLAdaptor.dtd
|  ===================================================================
|  <!--
|  This DTD describes who the list JMX Calls XML files has
|  to look like. Please NOTE that the order of the second
|  level elements (operation calls) doesn't have to be in
|  a particular order.
|  -->
|
|  <!--
|  The jmx element is the root element of the jmx.xml file.
|
|  ATTENTION: The elements doesn't have to be in a particular
|  order.
|  ATTENTION: when the invokeXML( Element ) is used one of
|  the inner elements of this root element must be handed
|  over.
|  -->
|  <!ELEMENT jmx (create-mbean?, invoke?)>
|
|    <!--
|    This operation creates a MBean. Note that the operation
|    contains the name of the operation to be invoked and that
|    you have to have a Object Name. You can either set an
|    attribute "name" or add the "object-name" element.
|    -->
|    <!ELEMENT create-mbean (object-name?, constructor?, attribute*)>
|
|      <!--
|      The Object Name is to create a Name for an MBean.
|      The Object Name can contain either a "name" attribute
|      having the info for the ObjectName (<domain name>:<property>*)
|      form or it can contains the "domain" attribute and a list
|      of properties.
|      -->
|      <!ELEMENT object-name (property*)>
|
|        <!--
|        Contains the Property for the Object Name. It must
|        contain a "key" attribute for the given value.
|        -->
|        <!ELEMENT property (property-value)>
|
|          <!--
|          Contains the Property Value for the Object Name
|          -->
|          <!ELEMENT property-value (#PCDATA)>
|
|      <!--
|      Constructor contains the information about a specific, not default
|      Constructor. If you use the no-args constructor you do not have
|      to specify the constructor here
|      -->
|      <!ELEMENT constructor (argument*)>
|
|        <!--
|        Contains the Argument for a Constructor. It has to have
|        an attribute "type" which is either the fully qualified class
|        or the regular datatype name for primitives.
|        -->
|        <!ELEMENT argument (argument-value)>
|
|          <!--
|          Contains the Argument Value for a Constructor Argument
|          -->
|          <!ELEMENT argument-value (#PCDATA)>
|
|      <!--
|      Attribute contains the value to be set on the given MBean.
|      It has to have a "name" attribute which must map an attribute
|      in the MBean (case sensitive).
|      -->
|      <!ELEMENT attribute (attribute-value)>
|
|        <!--
|        Contains the Attribute value to be set on the given MBean
|        -->
|        <!ELEMENT attribute-value (#PCDATA)>
|
|    <!--
|    Invokes a method on the given MBean
|    -->
|    <!ELEMENT invoke (object-name, attribute*)>
|
|    <!--
|    Returns one or serveral attributes form the given MBean.
|    In this case the attributes child (value) is ignored.
|    -->
|    <!ELEMENT get-attribute (object-name, attribute*)>
|
|    <!--
|    Sets and Returns one or serveral attributes form the given MBean
|    -->
|    <!ELEMENT set-attribute (object-name, attribute*)>
|
|    <!--
|    Returns the number of registered MBeans
|    -->
|    <!ELEMENT mbean-count (object-name)>
|
|    <!--
|    Returns the MBean Info object of the given MBean
|    -->
|    <!ELEMENT mbean-info (object-name)>
|
|    <!--
|    Returns the Object Instance object of the given MBean
|    -->
|    <!ELEMENT object-instance (object-name)>
|
|    <!--
|    Returns true if the given MBean implements or extends the given
|    class. Must contain an attribute "code" containing the full
|    qualified path to check against.
|    -->
|    <!ELEMENT is-instance-of (object-name)>
|
|    <!--
|    Returns true if a MBean with this Object Name is registered.
|    -->
|    <!ELEMENT is-registered (object-name)>
|
|    <!--
|    Unregister the given MBean.
|    -->
|    <!ELEMENT unregister-mbean (object-name)>
|
|
|
|
|
|
|_______________________________________________
|Jboss-development mailing list
|[EMAIL PROTECTED]
|http://lists.sourceforge.net/lists/listinfo/jboss-development



_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to