Author: pferraro
Date: 2008-09-17 18:42:20 -0400 (Wed, 17 Sep 2008)
New Revision: 1859
Modified:
trunk/mod_cluster/src/main/java/org/jboss/modcluster/load/metric/impl/MBeanQueryLoadMetricSource.java
Log:
Fixed NullPointerException when load is queried via mbean.
Modified:
trunk/mod_cluster/src/main/java/org/jboss/modcluster/load/metric/impl/MBeanQueryLoadMetricSource.java
===================================================================
---
trunk/mod_cluster/src/main/java/org/jboss/modcluster/load/metric/impl/MBeanQueryLoadMetricSource.java 2008-09-17
20:55:28 UTC (rev 1858)
+++
trunk/mod_cluster/src/main/java/org/jboss/modcluster/load/metric/impl/MBeanQueryLoadMetricSource.java 2008-09-17
22:42:20 UTC (rev 1859)
@@ -65,13 +65,18 @@
* @{inheritDoc}
* @see org.jboss.modcluster.load.metric.impl.AbstractLoadMetricSource#prepare()
*/
- @SuppressWarnings("unchecked")
@Override
public void prepare()
{
- this.objectNames = this.pattern.isPattern() ? this.server.queryNames(this.pattern,
null) : Collections.singleton(this.pattern);
+ this.objectNames = this.queryNames();
}
+ @SuppressWarnings("unchecked")
+ private Set<ObjectName> queryNames()
+ {
+ return this.pattern.isPattern() ? this.server.queryNames(this.pattern, null) :
Collections.singleton(this.pattern);
+ }
+
/**
* @{inheritDoc}
* @see org.jboss.modcluster.load.metric.impl.AbstractLoadMetricSource#cleanup()
@@ -92,9 +97,12 @@
*/
public <T> List<T> getAttributes(String attribute, Class<T>
targetClass) throws JMException
{
- List<T> list = new ArrayList<T>(this.objectNames.size());
+ // In case load was queried via mbean
+ Set<ObjectName> names = (this.objectNames != null) ? this.objectNames :
this.queryNames();
- for (ObjectName name: this.objectNames)
+ List<T> list = new ArrayList<T>(names.size());
+
+ for (ObjectName name: names)
{
list.add(targetClass.cast(this.server.getAttribute(name, attribute)));
}
Show replies by date