Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
SMILA/Documentation/JMXClient
< SMILA | Documentation
Revision as of 09:54, 10 February 2009 by Churkin.ivan.gmail.com (Talk | contribs)
What is JMXClient
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
<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>