[jboss-svn-commits] JBL Code SVN: r22691 - labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Sep 11 17:01:51 EDT 2008
Author: tcunning
Date: 2008-09-11 17:01:48 -0400 (Thu, 11 Sep 2008)
New Revision: 22691
Added:
labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ESBDiscoveryComponent.java
labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/SOADiscoveryComponent.java
Modified:
labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java
labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java
labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ListenerComponent.java
labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java
Log:
JBESB-2030
Add version to plugin.
Modified: labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java 2008-09-11 20:59:40 UTC (rev 22690)
+++ labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java 2008-09-11 21:01:48 UTC (rev 22691)
@@ -33,7 +33,9 @@
import org.mc4j.ems.connection.bean.EmsBean;
/**
- * @author Greg Hinkle
+ * The ActionComponent finds ESB action data (messages, bytes, time).
+ *
+ * @author Tom Cunningham
*/
public class ActionComponent extends MBeanResourceComponent<MBeanResourceComponent> {
private ResourceContext<MBeanResourceComponent> context;
Modified: labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java 2008-09-11 20:59:40 UTC (rev 22690)
+++ labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java 2008-09-11 21:01:48 UTC (rev 22691)
@@ -20,6 +20,7 @@
import java.util.ArrayList;
import java.util.HashSet;
+import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -40,12 +41,12 @@
import org.rhq.plugins.jmx.MBeanResourceComponent;
/**
- * Discovers hibernate entities from a hibernate stats mbean
+ * Discovers ESB actions from a JMX bean
*
- * @author Greg Hinkle
+ * @author Tom Cunningham
* @param <T>
*/
-public class ActionDiscoveryComponent<T extends JMXComponent> implements ResourceDiscoveryComponent<MBeanResourceComponent> {
+public class ActionDiscoveryComponent<T extends JMXComponent> extends SOADiscoveryComponent {
private static final String SERVICE_NAME = "service-name";
private static final String MESSAGES_SUCCESSFULLY_PROCESSED = "messages successfully processed count";
@@ -75,8 +76,16 @@
Set<DiscoveredResourceDetails> entities = new HashSet<DiscoveredResourceDetails>();
EmsBean actionBean = context.getParentResourceComponent().getEmsBean();
- String serviceName = actionBean.getBeanName().getKeyProperty(SERVICE_NAME);
-
+ String serviceName = actionBean.getBeanName().getKeyProperty(SERVICE_NAME);
+
+ String versionNumber;
+ try {
+ Hashtable ht = getVersionAttribute(context);
+ versionNumber = (String) ht.get(VERSION_NUMBER);
+ } catch (Exception e) {
+ versionNumber = "";
+ }
+
// Do two passes - one to grab the entity names (ex. "data fileraction"
// and then a second to build up the metrics for the entity
Set<EmsAttribute> attributeSet = actionBean.getAttributes();
@@ -89,11 +98,7 @@
Configuration pc = detail.getPluginConfiguration();
ArrayList<Property> props = new ArrayList<Property>();
- //PropertySimple ps = new PropertySimple("", "");
- //props.add(ps);
- //pc.setProperties(props);
- //List<EmsAttribute> refreshedAttribute = actionBean.refreshAttributes();
-
+ detail.setResourceVersion(versionNumber);
entities.add(detail);
}
}
Added: labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ESBDiscoveryComponent.java
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ESBDiscoveryComponent.java (rev 0)
+++ labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ESBDiscoveryComponent.java 2008-09-11 21:01:48 UTC (rev 22691)
@@ -0,0 +1,46 @@
+package org.jbosson.plugins.jbossesb;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.mc4j.ems.connection.bean.EmsBean;
+import org.mc4j.ems.connection.bean.attribute.EmsAttribute;
+import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.plugins.jmx.JMXComponent;
+import org.rhq.plugins.jmx.JMXDiscoveryComponent;
+import org.rhq.plugins.jmx.MBeanResourceComponent;
+import org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent;
+
+/**
+ * This DiscoveryComponent extends the MBeanResouceDiscoveryComponent, but also
+ * adds in the version number from the application server.
+ *
+ * @author Tom Cunningham
+ */
+public class ESBDiscoveryComponent extends MBeanResourceDiscoveryComponent {
+ public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext<JMXComponent> context) {
+ Set<DiscoveredResourceDetails> jmxResources = super.discoverResources(context);
+
+ String versionNumber;
+ try {
+ EmsBean bean = context.getParentResourceComponent().getEmsConnection().getBean(SOADiscoveryComponent.SYSTEM_BEAN);
+ EmsAttribute versionAttribute = bean.getAttribute(SOADiscoveryComponent.VERSION_NUMBER);
+ versionNumber = (String) versionAttribute.refresh();
+ } catch (Exception e) {
+ versionNumber = "";
+ }
+
+ for (DiscoveredResourceDetails jmxResource : jmxResources) {
+ jmxResource.setResourceVersion(versionNumber);
+ }
+
+ return jmxResources;
+ }
+}
\ No newline at end of file
Modified: labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ListenerComponent.java
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ListenerComponent.java 2008-09-11 20:59:40 UTC (rev 22690)
+++ labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ListenerComponent.java 2008-09-11 21:01:48 UTC (rev 22691)
@@ -35,7 +35,9 @@
/**
- * @author Greg Hinkle
+ * The ListenerComponent finds ESB configuration data stored in jboss-esb.xml.
+ *
+ * @author Tom Cunningham
*/
public class ListenerComponent extends MBeanResourceComponent<MBeanResourceComponent> {
private ResourceContext<MBeanResourceComponent> context;
Added: labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/SOADiscoveryComponent.java
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/SOADiscoveryComponent.java (rev 0)
+++ labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/SOADiscoveryComponent.java 2008-09-11 21:01:48 UTC (rev 22691)
@@ -0,0 +1,45 @@
+package org.jbosson.plugins.jbossesb;
+
+import java.util.Hashtable;
+
+import org.mc4j.ems.connection.bean.EmsBean;
+import org.mc4j.ems.connection.bean.attribute.EmsAttribute;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+import org.rhq.plugins.jmx.MBeanResourceComponent;
+
+/**
+ * Abstract class which gets version attributes.
+ *
+ * @author Tom Cunningham
+ * @param <T>
+ */
+public abstract class SOADiscoveryComponent implements ResourceDiscoveryComponent<MBeanResourceComponent> {
+ public static final String SYSTEM_BEAN = "jboss.system:type=Server";
+ public static final String VERSION_NUMBER = "VersionNumber";
+ public static final String BUILD_DATE = "BuildDate";
+ public static final String BUILD_ID = "BuildID";
+
+ public Hashtable getVersionAttribute(ResourceDiscoveryContext<MBeanResourceComponent> context) {
+ Hashtable ht = new Hashtable();
+
+ try {
+ EmsBean bean = context.getParentResourceComponent().getEmsConnection().getBean(SYSTEM_BEAN);
+ EmsAttribute versionAttribute = bean.getAttribute(VERSION_NUMBER);
+ String version = (String) versionAttribute.refresh();
+
+ EmsAttribute buildDateAttribute = bean.getAttribute(BUILD_DATE);
+ String buildDate = (String) buildDateAttribute.refresh();
+
+ EmsAttribute buildIDAttribute = bean.getAttribute(BUILD_ID);
+ String buildID = (String) buildIDAttribute.refresh();
+
+ ht.put(VERSION_NUMBER, version);
+ ht.put(BUILD_DATE, buildDate);
+ ht.put(BUILD_ID, buildID);
+ } catch (Exception e) {
+ // Do nothing in the case that we cannot recover these attributes
+ }
+ return ht;
+ }
+}
Modified: labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java 2008-09-11 20:59:40 UTC (rev 22690)
+++ labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java 2008-09-11 21:01:48 UTC (rev 22691)
@@ -34,7 +34,9 @@
/**
- * @author Greg Hinkle
+ * The ServiceComponent finds ESB service data (messages, bytes, time).
+ *
+ * @author Tom Cunningham
*/
public class ServiceComponent extends MBeanResourceComponent<MBeanResourceComponent> {
private ResourceContext<MBeanResourceComponent> context;
More information about the jboss-svn-commits
mailing list