Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "SMILA/Documentation/JMXClient"

 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
== What is JMXClient==
+
#REDIRECT [[SMILA/Documentation/Management#JMX_Client]]
 
+
The main goal of generic JMX Client is to execute management operations from console;
+
For example, its able to invoke JMX operation, to read JMX attribute, to process result by regular expression, to wait while some term becomes equal to other term and many more.
+
 
+
== Configuration ==
+
Source
+
  Schema: "org.eclipse.smila.management.jmx.client/schemas/jmxclient.xsd"
+
  Location: "org.eclipse.smila.management.jmx.client/config.xml"
+
 
+
Application
+
  Schema: "jmxclient/schemas/jmxclient.xsd"
+
  Location: "jmxclient/config.xml"
+
 
+
 
+
== Schema ==
+
<source lang="xml">
+
<xs:schema
+
  targetNamespace="http://www.eclipse.org/smila/management/jmx/client"
+
  elementFormDefault="qualified"
+
  attributeFormDefault="unqualified"
+
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+
  xmlns="http://www.eclipse.org/smila/management/jmx/client"
+
>
+
 
+
  <xs:complexType name="ConnectionConfigType">
+
    <xs:attribute name="id" type="xs:string" use="required"/>
+
    <xs:attribute name="host" type="xs:string" use="optional" default="localhost"/>
+
    <xs:attribute name="port" type="xs:int" use="optional" default="9004"/>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="ItemType">
+
    <xs:attribute name="echo" type="xs:string" use="required"/>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="PropertyType">
+
    <xs:complexContent>
+
      <xs:extension base="ItemType">
+
        <xs:attribute name="domain" type="xs:string" use="required"/>
+
        <xs:attribute name="key" type="xs:string" use="required"/>
+
        <xs:attribute name="name" type="xs:string" use="required"/>
+
      </xs:extension>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="AttributeType">
+
    <xs:complexContent>
+
      <xs:extension base="PropertyType"/>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="ParameterType">
+
    <xs:complexContent>
+
      <xs:extension base="ItemType">
+
        <xs:attribute name="class" type="xs:string" use="optional" default="java.lang.String"/>
+
        <xs:attribute name="value" type="xs:string" use="optional"/>
+
      </xs:extension>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="ConstantType">
+
    <xs:complexContent>
+
      <xs:extension base="ParameterType"/>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="OperationType">
+
    <xs:complexContent>
+
      <xs:extension base="PropertyType">
+
        <xs:sequence>
+
          <xs:element name="parameter" type="ParameterType" minOccurs="0" maxOccurs="unbounded"/>
+
        </xs:sequence>
+
        <xs:attribute name="printResult" type="xs:boolean" use="optional" default="true"/>
+
      </xs:extension>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="RegexpType">
+
    <xs:complexContent>
+
      <xs:extension base="ItemType">
+
        <xs:attribute name="pattern" type="xs:string" use="required"/>
+
        <xs:attribute name="group" type="xs:int" use="required"/>
+
      </xs:extension>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="BooleanOpType" abstract="true">
+
  </xs:complexType>
+
 
+
  <xs:complexType name="UnaryOpType" abstract="true">
+
    <xs:complexContent>
+
      <xs:extension base="BooleanOpType">
+
        <xs:sequence>
+
          <xs:element name="cmd" type="CmdConfigType"/>
+
        </xs:sequence>
+
      </xs:extension>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="BinaryOpType" abstract="true">
+
    <xs:complexContent>
+
      <xs:extension base="BooleanOpType">
+
        <xs:sequence minOccurs="2" maxOccurs="2">
+
          <xs:choice>
+
            <xs:element name="cmd" type="CmdConfigType"/>
+
            <xs:element name="const" type="ConstantType"/>
+
          </xs:choice>
+
        </xs:sequence>
+
      </xs:extension>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="EqualsOpType">
+
    <xs:complexContent>
+
      <xs:extension base="BinaryOpType"/>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="WaitType">
+
    <xs:complexContent>
+
      <xs:extension base="ItemType">
+
        <xs:sequence>
+
        <!-- TODO: extend with other opeartions required-->
+
          <xs:element name="equals" type="EqualsOpType"/>
+
          <xs:element name="cmd" type="CmdConfigType" minOccurs="0" maxOccurs="1"/>
+
        </xs:sequence>
+
        <xs:attribute name="pause" type="xs:int" use="optional" default="5000"/>
+
      </xs:extension>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="CustomType">
+
    <!-- TODO -->
+
    <xs:complexContent>
+
      <xs:extension base="ItemType">
+
        <xs:attribute name="class" type="xs:string" use="required"/>
+
      </xs:extension>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="CmdConfigType">
+
    <xs:complexContent>
+
      <xs:extension base="ItemType">
+
        <xs:sequence>
+
          <xs:choice  minOccurs="1" maxOccurs="unbounded">
+
            <xs:element name="attribute"  type="AttributeType"/>
+
            <xs:element name="operation"  type="OperationType"/>
+
            <xs:element name="regexp"  type="RegexpType"/>
+
            <xs:element name="wait"  type="WaitType"/>
+
            <xs:element name="custom"  type="CustomType"/>
+
          </xs:choice>
+
        </xs:sequence>
+
        <xs:attribute name="id" type="xs:string" use="required"/>
+
      </xs:extension>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="SampleConfigType">
+
    <xs:complexContent>
+
      <xs:extension base="ItemType">
+
        <xs:attribute name="value" type="xs:string" use="required"/>
+
      </xs:extension>
+
    </xs:complexContent>
+
  </xs:complexType>
+
 
+
  <xs:complexType name="JmxClientConfigType">
+
    <xs:sequence>
+
      <xs:element name="connection"  type="ConnectionConfigType" minOccurs="1" maxOccurs="unbounded"/>
+
      <xs:element name="cmd"  type="CmdConfigType" minOccurs="0" maxOccurs="unbounded"/>
+
      <xs:element name="sample"  type="SampleConfigType" minOccurs="0" maxOccurs="unbounded"/>
+
    </xs:sequence>
+
  </xs:complexType>
+
 
+
  <xs:element name="jmxclient" type="JmxClientConfigType"/>
+
 
+
</xs:schema>
+
 
+
</source>
+
 
+
[[Category:SMILA]]
+

Latest revision as of 07:00, 25 January 2012

Back to the top