[jboss-svn-commits] JBL Code SVN: r22782 - labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Sep 15 14:41:15 EDT 2008


Author: kevin.conner at jboss.com
Date: 2008-09-15 14:41:15 -0400 (Mon, 15 Sep 2008)
New Revision: 22782

Modified:
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java
Log:
add unregister method to ServiceMessageCounter, add category to MBean name, call unregister from destroy: JBESB-2038

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java	2008-09-15 18:05:48 UTC (rev 22781)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java	2008-09-15 18:41:15 UTC (rev 22782)
@@ -340,6 +340,7 @@
 	{
 		active.set(false);
 		handleDestroy(processors.length - 1);
+		serviceMessageCounter.unregisterMBean() ;
 	}
 
 	/**

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java	2008-09-15 18:05:48 UTC (rev 22781)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java	2008-09-15 18:41:15 UTC (rev 22782)
@@ -23,7 +23,6 @@
 package org.jboss.soa.esb.listeners.message;
 
 import java.util.Hashtable;
-import java.util.Set;
 
 import javax.management.Attribute;
 import javax.management.AttributeList;
@@ -47,7 +46,6 @@
 import org.jboss.mx.util.MBeanServerLocator;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.lifecycle.LifecycleController;
 
 /**
  * Service message counter is a MBean that displays an action-by-action breakdown of
@@ -66,6 +64,7 @@
 	
 	private ConfigTree m_config;
 	private ConfigTree[] actionArray;
+	private final ObjectName listObjectName ;
 	
 	private Integer serviceCount;
 	private Integer bytesFailed;
@@ -104,6 +103,7 @@
 		actionArray = m_config.getChildren(ListenerTagNames.ACTION_ELEMENT_TAG);
 
 		initHashes();
+		listObjectName = getObjectName();
 	}
 	
 	/**
@@ -367,20 +367,8 @@
 			return;
 		}
 		
-		ObjectName listObjectName = getObjectName();
-		
-		if (mbeanServer.isRegistered(listObjectName)) {
-	    	try {
-	    		mbeanServer.unregisterMBean(listObjectName);
-			} catch (InstanceNotFoundException e) {
-				e.printStackTrace();
-			} catch (MBeanRegistrationException e) {
-				e.printStackTrace();
-			}
-        }
-		
-	    try {
-	    	mbeanServer.registerMBean(this, listObjectName);
+		try {
+			mbeanServer.registerMBean(this, listObjectName);
 		} catch (InstanceAlreadyExistsException e) {
 			logger.warn("", e);
 		} catch (MBeanRegistrationException e) {
@@ -391,6 +379,28 @@
 	}
 	
 	/**
+	 * Unregister this MBean with JBoss.
+	 */
+	protected void unregisterMBean() {
+		MBeanServer mbeanServer = null;
+		try {
+			mbeanServer = MBeanServerLocator.locateJBoss();
+		} catch (IllegalStateException ise) {
+			// If we can't find a JBoss MBeanServer, just return
+			// Needed for unit tests
+			return;
+		}
+		
+		try {
+			mbeanServer.unregisterMBean(listObjectName);
+		} catch (InstanceNotFoundException e) {
+			logger.warn("", e);
+		} catch (MBeanRegistrationException e) {
+			logger.warn("", e);
+		}
+	}
+	
+	/**
 	 * Update the ServiceMessageCounter
 	 * @param asb ActionStatusBean
 	 */
@@ -425,12 +435,19 @@
 		try {
 			String deploymentName = m_config.getParent().getAttribute(ListenerTagNames.DEPLOYMENT_NAME_TAG);
 			String serviceName = m_config.getAttribute(ListenerTagNames.SERVICE_NAME_TAG);
+			final String categoryName = m_config.getAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG) ;
 
 			StringBuffer objectName = new StringBuffer("category=MessageCounter");
 			if (deploymentName != null) {
 				objectName.append(",").append(ListenerTagNames.DEPLOYMENT_NAME_TAG).append("=").append(deploymentName);
 			}
 			
+			if (categoryName != null) {
+				if (objectName.length() > 0) {
+					objectName.append(",") ;
+				}
+				objectName.append(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG).append('=').append(categoryName) ;
+			}
 			if (serviceName != null) {
 				if (objectName.length() > 0) {
 					objectName.append(",");




More information about the jboss-svn-commits mailing list