You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2016/10/25 13:05:57 UTC

svn commit: r1766526 - in /uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx: JmxManagement.java JmxManager.java

Author: cwiklik
Date: Tue Oct 25 13:05:57 2016
New Revision: 1766526

URL: http://svn.apache.org/viewvc?rev=1766526&view=rev
Log:
UIMA-5136 added new API addObject() to register MBean

Modified:
    uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/JmxManagement.java
    uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/JmxManager.java

Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/JmxManagement.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/JmxManagement.java?rev=1766526&r1=1766525&r2=1766526&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/JmxManagement.java (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/JmxManagement.java Tue Oct 25 13:05:57 2016
@@ -84,4 +84,7 @@ public interface JmxManagement {
    * @throws Exception
    */
   public void destroy() throws Exception;
+ 
+  public void addObject(String objectName) throws Exception;
+ 
 }

Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/JmxManager.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/JmxManager.java?rev=1766526&r1=1766525&r2=1766526&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/JmxManager.java (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/JmxManager.java Tue Oct 25 13:05:57 2016
@@ -21,11 +21,16 @@ package org.apache.uima.aae.jmx;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
+
 import javax.management.MBeanServer;
+import javax.management.ObjectInstance;
 import javax.management.ObjectName;
+
 import org.apache.uima.UIMAFramework;
 import org.apache.uima.internal.util.JmxMBeanAgent;
 import org.apache.uima.util.Level;
@@ -33,6 +38,8 @@ import org.apache.uima.util.Level;
 public class JmxManager implements JmxManagement {
   private String jmxDomain = "";
 
+  private List<ObjectName> mbeanList = new
+		  ArrayList<ObjectName>();
   public JmxManager(String aDomain) {
     jmxDomain = aDomain;
   }
@@ -85,7 +92,10 @@ public class JmxManager implements JmxMa
     }
     return (MBeanServer) platformMBeanServer;
   }
-
+  public void addObject(String objectName) throws Exception {
+	    ObjectName objName = new ObjectName(objectName);
+	    mbeanList.add(objName);
+  }
   public void registerMBean(Object anMBeanToRegister, ObjectName aName) throws Exception {
     if (!isInitialized()) {
       return;
@@ -97,7 +107,10 @@ public class JmxManager implements JmxMa
         if (((MBeanServer) platformMBeanServer).isRegistered(aName)) {
           ((MBeanServer) platformMBeanServer).unregisterMBean(aName);
         }
-        ((MBeanServer) platformMBeanServer).registerMBean(anMBeanToRegister, aName);
+        ObjectInstance oi =
+        		((MBeanServer) platformMBeanServer).registerMBean(anMBeanToRegister, aName);
+        mbeanList.add(oi.getObjectName());
+//        System.out.println("Service ...................... Registered MBean "+oi.getObjectName());
       }
     } catch (Exception e) {
       UIMAFramework.getLogger()
@@ -124,6 +137,7 @@ public class JmxManager implements JmxMa
         return;
       }
       try {
+//    	  System.out.println("Service .................. Unregister MBean:"+anMBeanToUnregister);
         if (((MBeanServer) platformMBeanServer).isRegistered(anMBeanToUnregister)) {
           ((MBeanServer) platformMBeanServer).unregisterMBean(anMBeanToUnregister);
         }
@@ -136,7 +150,16 @@ public class JmxManager implements JmxMa
   }
 
   public void destroy() throws Exception {
-    unregisterDomainObjects("org.apache.uima:type=ee.jms.services,*");
+   
+	  for( ObjectName oi : mbeanList ) {
+		  try {
+			  unregisterMBean(oi);
+		  } catch( Exception e) {
+			  
+		  }
+	  }
+	  mbeanList.clear();
+	  // unregisterDomainObjects("org.apache.uima:type=ee.jms.services,*");
   }
 
   public void initialize(Map anInitMap) throws Exception {