[jboss-svn-commits] JBL Code SVN: r22706 - in labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main: resources/META-INF and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Sep 12 04:38:39 EDT 2008


Author: kevin.conner at jboss.com
Date: 2008-09-12 04:38:39 -0400 (Fri, 12 Sep 2008)
New Revision: 22706

Added:
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ESBDiscoveryComponent.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/SOADiscoveryComponent.java
Modified:
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ListenerComponent.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml
Log:
Revision 22690 and 22691: JBESB-2030

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java	2008-09-12 08:36:21 UTC (rev 22705)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java	2008-09-12 08:38:39 UTC (rev 22706)
@@ -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/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java	2008-09-12 08:36:21 UTC (rev 22705)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java	2008-09-12 08:38:39 UTC (rev 22706)
@@ -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);
         	}
         }

Copied: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ESBDiscoveryComponent.java (from rev 22691, labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ESBDiscoveryComponent.java)
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ESBDiscoveryComponent.java	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ESBDiscoveryComponent.java	2008-09-12 08:38:39 UTC (rev 22706)
@@ -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/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ListenerComponent.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ListenerComponent.java	2008-09-12 08:36:21 UTC (rev 22705)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ListenerComponent.java	2008-09-12 08:38:39 UTC (rev 22706)
@@ -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;

Copied: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/SOADiscoveryComponent.java (from rev 22691, labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/SOADiscoveryComponent.java)
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/SOADiscoveryComponent.java	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/SOADiscoveryComponent.java	2008-09-12 08:38:39 UTC (rev 22706)
@@ -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/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java	2008-09-12 08:36:21 UTC (rev 22705)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java	2008-09-12 08:38:39 UTC (rev 22706)
@@ -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;

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml	2008-09-12 08:36:21 UTC (rev 22705)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml	2008-09-12 08:38:39 UTC (rev 22706)
@@ -14,7 +14,7 @@
    <depends plugin="JBossAS" useClasses="true"/>
 
    <service name="ESB"
-      discovery="org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent"
+      discovery="org.jbosson.plugins.jbossesb.ESBDiscoveryComponent"
       class="org.rhq.plugins.jmx.MBeanResourceComponent"
       description="Overall statistics for JBoss ESB"
       singleton="true">
@@ -27,7 +27,11 @@
          <c:simple-property name="nameTemplate" default="JBoss ESB Statistics"/>
          <c:simple-property name="descriptionTemplate" default="JBoss ESB statistics."/>
       </plugin-configuration>
-
+      <operation name="start" displayName="Start deployment" description="Start the JBoss ESB deployment"/>
+      <operation name="stop" displayName="Stop deployment" description="Stop the JBoss ESB deployment"/>
+      <operation name="create" displayName="Move .esb deployment into the create state" description="Move the .esb deployment into the create state"/>
+      <operation name="destroy" displayName="Move .esb deployment into the destroy state" description="Move the .esb deployment into the destroy state"/>
+      <operation name="resetCounts" displayName="Reset Counts" description="Reset the overall counter"/>
       <metric displayName="Successful Message Count" property="SuccessfulMessageCount" category="utilization" displayType="summary" measurementType="dynamic" description="Overall Successful Message Count"/>
       <metric displayName="Total Message Count" property="TotalMessageCount" category="utilization" displayType="summary" defaultOn="true" measurementType="dynamic" description="Total Message Count"/>
       <metric displayName="Failed Message Count" property="FailedMessageCount" category="utilization" displayType="summary" defaultOn="true" measurementType="dynamic" description="Failed Message Count"/>
@@ -37,7 +41,7 @@
       <metric displayName="Bytes Processed" property="ProcessedBytes" units="bytes" category="utilization" displayType="summary" defaultOn="true" measurementType="dynamic" description="Overall Bytes Processed"/>
 
    <service name="JBoss ESB Deployment"
-      discovery="org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent"
+      discovery="org.jbosson.plugins.jbossesb.ESBDiscoveryComponent"
       class="org.rhq.plugins.jmx.MBeanResourceComponent"
       description="Statistics for JBoss ESB Deployments">
 
@@ -63,7 +67,7 @@
           ]]>
        </help>
       <service name="JBoss ESB Services"
-         discovery="org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent"
+         discovery="org.jbosson.plugins.jbossesb.ESBDiscoveryComponent"
          class="ServiceComponent"
          description="JBoss ESB Services">
          <plugin-configuration>
@@ -72,7 +76,7 @@
               <c:simple-property name="DescriptionTemplate" default="JBoss ESB statistics for the {serviceName} service."/>
               <c:simple-property name="serviceName" type="string" description="the JBoss ESB service name"/>
          </plugin-configuration>
-         <operation name="resetCounts" displayName="Reset the message counter" description="Reset the message counter"/>
+         <operation name="resetCounter" displayName="Reset the message counter" description="Reset the message counter"/>
          <metric displayName="Overall Service Message Count" property="overallMessageCount" category="utilization" displayType="summary" measurementType="dynamic" description="Overall Service Message Count"/>
 	 <metric displayName="Overall Service Bytes Processed" property="overallBytesProcessed" units="bytes" category="utilization" displayType="summary" defaultOn="true" measurementType="dynamic" description="Overall Service Bytes Processed"/>
 	 <metric displayName="Overall Service Bytes Failed" property="overallBytesFailed" units="bytes" category="utilization" displayType="summary" defaultOn="true" measurementType="dynamic" description="Overall Service Bytes Failed"/>
@@ -82,7 +86,7 @@
              ]]>
          </help>
 	 <service name="JBoss ESB Listeners"
-		discovery="org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent"
+		discovery="org.jbosson.plugins.jbossesb.ESBDiscoveryComponent"
 		class="ListenerComponent"
 		description="JBoss ESB Listeners">
 	     <plugin-configuration>




More information about the jboss-svn-commits mailing list