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 2013/12/06 20:01:36 UTC

svn commit: r1548660 - /uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/jconsole/JConsoleWrapper.java

Author: cwiklik
Date: Fri Dec  6 19:01:35 2013
New Revision: 1548660

URL: http://svn.apache.org/r1548660
Log:
UIMA-3490 modified to use reflection to call JConsole

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/jconsole/JConsoleWrapper.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/jconsole/JConsoleWrapper.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/jconsole/JConsoleWrapper.java?rev=1548660&r1=1548659&r2=1548660&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/jconsole/JConsoleWrapper.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/jconsole/JConsoleWrapper.java Fri Dec  6 19:01:35 2013
@@ -18,10 +18,40 @@
 */
 package org.apache.uima.ducc.ws.jconsole;
 
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * This is a wrapper for JConsole. It calls it using reflection to avoid
+ * requiring special java classes in the CP.
+ * 
+ *
+ */
 public class JConsoleWrapper {
 
 	public static void main(String[] args) {
-		sun.tools.jconsole.JConsole.main(args);
+		try {
+			// Use reflection to call JConsole at runtime
+			Class<?> c = Class.forName("sun.tools.jconsole.JConsole");
+			Method m = c.getDeclaredMethod("main", new Class[]{ String[].class });
+			Object instance = c.newInstance();
+			m.invoke(instance, (Object[])args);
+		} catch( ClassNotFoundException e) {
+			e.printStackTrace();
+		} catch (SecurityException e) {
+			e.printStackTrace();
+		} catch (NoSuchMethodException e) {
+			e.printStackTrace();
+		} catch (InstantiationException e) {
+			e.printStackTrace();
+		} catch (IllegalAccessException e) {
+			e.printStackTrace();
+		} catch (IllegalArgumentException e) {
+			e.printStackTrace();
+		} catch (InvocationTargetException e) {
+			e.printStackTrace();
+		}
+//		sun.tools.jconsole.JConsole.main(args);
 	}
 
 }