Skip to content

Commit

Permalink
Flattened JMX resources discovery
Browse files Browse the repository at this point in the history
  • Loading branch information
stoiczek committed Jun 18, 2011
1 parent 372c8a2 commit 20ed100
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 88 deletions.
2 changes: 1 addition & 1 deletion gui/src/main/resources/spring/uiContext.xml
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -295,11 +295,11 @@ http://www.springframework.org/schema/context http://www.springframework.org/sch
<property name="enabled" value="true"/> <property name="enabled" value="true"/>
<property name="closeListener" ref="ontologySelectedListener"/> <property name="closeListener" ref="ontologySelectedListener"/>
<property name="owner" ref="mainWindowController"/> <property name="owner" ref="mainWindowController"/>
<property name="exceptionHandler" ref="promptExceptionHandler"/>
</bean> </bean>


<bean id="ontologySelectedListener" class="pl.edu.agh.semsimmon.gui.controllers.action.OntologyFileSelectedListener"> <bean id="ontologySelectedListener" class="pl.edu.agh.semsimmon.gui.controllers.action.OntologyFileSelectedListener">
<property name="connectionsManager" ref="coreConnectionsManager"/> <property name="connectionsManager" ref="coreConnectionsManager"/>
<property name="exceptionHandler" ref="promptExceptionHandler"/>
</bean> </bean>


<bean id="addOcmgResourceAction" class="pl.edu.agh.semsimmon.gui.action.ReflectionAction"> <bean id="addOcmgResourceAction" class="pl.edu.agh.semsimmon.gui.action.ReflectionAction">
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class JmxTransportProxy extends AbstractTransportProxy {
/** /**
* *
*/ */
private Map<String, Map<String, DiscoveryAgent>> discoveryAgents; private Map<String, DiscoveryAgent> discoveryAgents;


/** /**
* *
Expand Down Expand Up @@ -145,17 +145,13 @@ public void discoverChildren(Resource resource, List<String> types) throws Trans
if (!isResourceSupported(resource)) { if (!isResourceSupported(resource)) {
throw new TransportException("Given resource is unsupported with this proxy"); throw new TransportException("Given resource is unsupported with this proxy");
} }
if (!discoveryAgents.containsKey(resource.getTypeUri())) {
log.error("Cannot discover child resources from given parent: " + resource.getUri() + "(" + resource.getTypeUri() + ")");
return;
}
Map<String, DiscoveryAgent> agents = discoveryAgents.get(resource.getTypeUri());
final List<Resource> children = new LinkedList<Resource>(); final List<Resource> children = new LinkedList<Resource>();
final String connectionUri = resource.getProperty(JmxRegistryConsts.SERVICE_URL_PROPERTY).toString(); final String connectionUri = resource.getProperty(JmxRegistryConsts.SERVICE_URL_PROPERTY).toString();
final MBeanServerConnection connection = connections.get(connectionUri); final MBeanServerConnection connection = connections.get(connectionUri);
for (final String type : types) { for (final String type : types) {
if (agents.containsKey(type)) { if (discoveryAgents.containsKey(type)) {
final DiscoveryAgent agent = agents.get(type); final DiscoveryAgent agent = discoveryAgents.get(type);
List<Resource> childResources = null; List<Resource> childResources = null;
try { try {
childResources = agent.discoveryChildren(connection, resource, type); childResources = agent.discoveryChildren(connection, resource, type);
Expand All @@ -181,15 +177,15 @@ public List<Resource> discoverDirectChildren(Resource resource, String type) thr
} }
registerResource(resource); registerResource(resource);
final String transportUri = (String) resource.getProperty(JmxRegistryConsts.SERVICE_URL_PROPERTY); final String transportUri = (String) resource.getProperty(JmxRegistryConsts.SERVICE_URL_PROPERTY);
DiscoveryAgent agent = discoveryAgents.get(resource.getTypeUri()).get(type); DiscoveryAgent agent = discoveryAgents.get(type);
try { try {
return agent.discoveryChildren(connections.get(transportUri), resource, type); return agent.discoveryChildren(connections.get(transportUri), resource, type);
} catch (IOException e) { } catch (IOException e) {
throw new TransportException(e); throw new TransportException(e);
} }
} }


public void setDiscoveryAgents(Map<String, Map<String, DiscoveryAgent>> discoveryAgents) { public void setDiscoveryAgents(Map<String, DiscoveryAgent> discoveryAgents) {
this.discoveryAgents = discoveryAgents; this.discoveryAgents = discoveryAgents;
} }


Expand Down
87 changes: 10 additions & 77 deletions transports/jmx/src/main/resources/jmxtransport-context.xml
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -21,86 +21,19 @@ http://www.springframework.org/schema/context http://www.springframework.org/sch




<util:map id="jmxDiscoveryAgents" key-type="java.lang.String" value-type="java.util.HashMap"> <util:map id="jmxDiscoveryAgents" key-type="java.lang.String" value-type="java.util.HashMap">
<entry value-ref="nodeDiscoveryAgents"> <entry key-ref="osUri" value-ref="osDiscoveryAgent"/>
<key> <entry key-ref="cpuUri" value-ref="cpuDiscoveryAgent"/>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.NODE_URI"/> <entry key-ref="jvmUri" value-ref="jvmDiscoveryAgent"/>
</key> <entry key-ref="physicalMemoryUri" value-ref="genericDiscoveryAgent"/>
</entry> <entry key-ref="virtualMemUri" value-ref="genericDiscoveryAgent"/>
<entry value-ref="jvmDiscoveryAgents"> <entry key-ref="hardDriveUri" value-ref="genericDiscoveryAgent"/>
<key> <entry key-ref="netfaceUri" value-ref="genericDiscoveryAgent"/>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.JVM_URI"/> <entry key-ref="classLoaderUri" value-ref="genericDiscoveryAgent"/>
</key> <entry key-ref="threadUri" value-ref="threadDiscoveryAgent"/>
</entry> <entry key-ref="gcUri" value-ref="gcDiscoveryAgent"/>
</util:map> </util:map>


<util:map id="nodeDiscoveryAgents" key-type="java.lang.String"
value-type="pl.edu.agh.semsimmon.registries.jmx.discovery.DiscoveryAgent" map-class="java.util.HashMap">
<entry value-ref="osDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.OS_URI"/>
</key>
</entry>
<entry value-ref="cpuDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.CPU_URI"/>
</key>
</entry>
<entry value-ref="jvmDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.JVM_URI"/>
</key>
</entry>
<entry value-ref="genericDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.PHYSICAL_MEMORY_URI"/>
</key>
</entry>
<entry value-ref="genericDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.VIRTUAL_MEMORY_URI"/>
</key>
</entry>
<entry value-ref="genericDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.HARD_DRIVE_URI"/>
</key>
</entry>

<entry value-ref="genericDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.NETWORK_INTERFACE_URI"/>
</key>
</entry>


</util:map>


<util:map id="jvmDiscoveryAgents" key-type="java.lang.String"
value-type="pl.edu.agh.semsimmon.registries.jmx.discovery.DiscoveryAgent" map-class="java.util.HashMap">
<entry value-ref="genericDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.CLASS_LOADER_URI"/>
</key>
</entry>
<entry value-ref="genericDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.GC_URI"/>
</key>
</entry>

<entry value-ref="threadDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.THREAD_URI"/>
</key>
</entry>

<entry value-ref="gcDiscoveryAgent">
<key>
<util:constant static-field="pl.edu.agh.semsimmon.common.api.knowledge.KnowledgeConstants.GC_URI"/>
</key>
</entry>

</util:map>


<bean id="genericDiscoveryAgent" class="pl.edu.agh.semsimmon.registries.jmx.discovery.GenericDiscoveryAgent"/> <bean id="genericDiscoveryAgent" class="pl.edu.agh.semsimmon.registries.jmx.discovery.GenericDiscoveryAgent"/>


Expand Down

0 comments on commit 20ed100

Please sign in to comment.