MBean discovery with XPath filter data source module

Microsoft.JEE.Discovery.MBeansWithXPath.DataSource (DataSourceModuleType)

A data source module that performs a MBean discovery and performs a string comparision against data in a property bag.

Element properties:

TypeDataSourceModuleType
IsolationAny
AccessibilityPublic
RunAsDefault
OutputTypeSystem.Discovery.Data

Member Modules:

ID Module Type TypeId RunAs 
Schedule DataSource System.Discovery.Scheduler Default
Probe ProbeAction Microsoft.JEE.Monitoring.UrlProbe.MBeans.ProbeAction Default
Filter ConditionDetection System.ExpressionFilter Default
Mapper ConditionDetection Microsoft.JEE.ClassMapper.ConditionDetectionModuleType Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
ComputerNamestring$Config/ComputerName$Computer nameThe name of the computer that hosts the application server.
Protocolstring$Config/Protocol$ProtocolThe protocol to use to perform the HTTP call.
Portstring$Config/Port$PortThe port number to use to perform the HTTP call.
BaseURLstring$Config/BaseURL$Base URLThe base URL to use to find BeanSpy.
JMXQuerystring$Config/JMXQuery$JMX queryThe JMX query for the application server's MBean stores.
AdditionalArgumentsstring$Config/AdditionalArguments$Additional argumentsAdditional arguments for BeanSpy to shape the output XML.
IntervalSecondsint$Config/IntervalSeconds$IntervalThe time value (in seconds) between calls on the data source.
TimeoutSecondsint$Config/TimeoutSeconds$TimeoutThe timeout-value (in seconds) for inactivity on the data source.

Source Code:

<DataSourceModuleType ID="Microsoft.JEE.Discovery.MBeansWithXPath.DataSource" Accessibility="Public">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
<SchemaType>System!System.Discovery.MapperSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element name="ComputerName" type="xsd:string"/>
<xsd:element name="Protocol" type="xsd:string"/>
<xsd:element name="Port" type="xsd:string"/>
<xsd:element name="BaseURL" type="xsd:string"/>
<xsd:element name="JMXQuery" type="xsd:string"/>
<xsd:element name="AdditionalArguments" type="xsd:string"/>
<xsd:element name="IntervalSeconds" type="xsd:integer"/>
<xsd:element name="TimeoutSeconds" type="xsd:integer"/>
<xsd:element name="XPath" type="xsd:string"/>
<xsd:element name="ClassId" type="xsd:string"/>
<xsd:element name="InstanceSettings" type="SettingsType"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="ComputerName" ParameterType="string" Selector="$Config/ComputerName$"/>
<OverrideableParameter ID="Protocol" ParameterType="string" Selector="$Config/Protocol$"/>
<OverrideableParameter ID="Port" ParameterType="string" Selector="$Config/Port$"/>
<OverrideableParameter ID="BaseURL" ParameterType="string" Selector="$Config/BaseURL$"/>
<OverrideableParameter ID="JMXQuery" ParameterType="string" Selector="$Config/JMXQuery$"/>
<OverrideableParameter ID="AdditionalArguments" ParameterType="string" Selector="$Config/AdditionalArguments$"/>
<OverrideableParameter ID="IntervalSeconds" ParameterType="int" Selector="$Config/IntervalSeconds$"/>
<OverrideableParameter ID="TimeoutSeconds" ParameterType="int" Selector="$Config/TimeoutSeconds$"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="Schedule" TypeID="System!System.Discovery.Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval>$Config/IntervalSeconds$</Interval>
<SyncTime/>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
</DataSource>
<ProbeAction ID="Probe" TypeID="Microsoft.JEE.Monitoring.UrlProbe.MBeans.ProbeAction">
<ComputerName>$Config/ComputerName$</ComputerName>
<Protocol>$Config/Protocol$</Protocol>
<Port>$Config/Port$</Port>
<BaseURL>$Config/BaseURL$</BaseURL>
<JMXQuery>$Config/JMXQuery$</JMXQuery>
<AdditionalArguments>$Config/AdditionalArguments$</AdditionalArguments>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</ProbeAction>
<ConditionDetection ID="Filter" TypeID="System!System.ExpressionFilter">
<Expression>
<Exists>
<ValueExpression>
<XPathQuery Type="String">$Config/XPath$</XPathQuery>
</ValueExpression>
</Exists>
</Expression>
</ConditionDetection>
<ConditionDetection ID="Mapper" TypeID="Microsoft.JEE.ClassMapper.ConditionDetectionModuleType">
<ClassId>$Config/ClassId$</ClassId>
<InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="Mapper">
<Node ID="Filter">
<Node ID="Probe">
<Node ID="Schedule"/>
</Node>
</Node>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>