You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ja...@apache.org on 2015/02/16 21:51:51 UTC

[1/3] karaf git commit: KARAF-3536 - remove compile-time dependency on com.sun.management.HotSpotDiagnosticMXBean

Repository: karaf
Updated Branches:
  refs/heads/karaf-2.x 330b7ca1d -> 2e7224684
  refs/heads/karaf-3.0.x 0d06db1d9 -> 440f7d90e
  refs/heads/master 228805507 -> 17178f29d


KARAF-3536 - remove compile-time dependency on com.sun.management.HotSpotDiagnosticMXBean


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/2e722468
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/2e722468
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/2e722468

Branch: refs/heads/karaf-2.x
Commit: 2e72246845539c4ccf32bfb6ee0707b567ae136c
Parents: 330b7ca
Author: Jonathan Anstey <ja...@gmail.com>
Authored: Mon Feb 16 15:14:46 2015 -0500
Committer: Jonathan Anstey <ja...@gmail.com>
Committed: Mon Feb 16 15:14:46 2015 -0500

----------------------------------------------------------------------
 .../diagnostic/core/providers/HeapDumpProvider.java     | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/2e722468/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/core/providers/HeapDumpProvider.java
----------------------------------------------------------------------
diff --git a/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/core/providers/HeapDumpProvider.java b/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/core/providers/HeapDumpProvider.java
index 6a6f040..0135eae 100644
--- a/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/core/providers/HeapDumpProvider.java
+++ b/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/core/providers/HeapDumpProvider.java
@@ -16,15 +16,16 @@
  */
 package org.apache.karaf.diagnostic.core.providers;
 
-import com.sun.management.HotSpotDiagnosticMXBean;
 import org.apache.karaf.diagnostic.core.DumpDestination;
 import org.apache.karaf.diagnostic.core.DumpProvider;
 
 import javax.management.MBeanServer;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.OutputStream;
 import java.lang.management.ManagementFactory;
+import java.lang.reflect.Method;
 
 /**
  * Create a heap dump.
@@ -37,11 +38,14 @@ public class HeapDumpProvider implements DumpProvider {
         OutputStream out = null;
         try {
             MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
-            HotSpotDiagnosticMXBean diagnosticMXBean = ManagementFactory.newPlatformMXBeanProxy(mBeanServer,
-                    "com.sun.management:type=HotSpotDiagnostic", HotSpotDiagnosticMXBean.class);
+            Class<?> diagnosticMXBeanClass = Class.forName("com.sun.management.HotSpotDiagnosticMXBean");
+            Object diagnosticMXBean = ManagementFactory.newPlatformMXBeanProxy(mBeanServer,
+                    "com.sun.management:type=HotSpotDiagnostic", diagnosticMXBeanClass);
             heapDumpFile = File.createTempFile("heapdump", ".txt");
             heapDumpFile.delete();
-            diagnosticMXBean.dumpHeap(heapDumpFile.getAbsolutePath(), false);
+            
+            Method method = diagnosticMXBeanClass.getMethod("dumpHeap", String.class, boolean.class);
+            method.invoke(diagnosticMXBean, heapDumpFile.getAbsolutePath(), false);
             // copy the dump in the destination
             in = new FileInputStream(heapDumpFile);
             out = destination.add("heapdump.txt");


[2/3] karaf git commit: KARAF-3536 - remove compile-time dependency on com.sun.management.HotSpotDiagnosticMXBean

Posted by ja...@apache.org.
KARAF-3536 - remove compile-time dependency on com.sun.management.HotSpotDiagnosticMXBean


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/440f7d90
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/440f7d90
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/440f7d90

Branch: refs/heads/karaf-3.0.x
Commit: 440f7d90ead03c33e667cbef97e7e0ac99019b6b
Parents: 0d06db1
Author: Jonathan Anstey <ja...@gmail.com>
Authored: Mon Feb 16 15:41:48 2015 -0500
Committer: Jonathan Anstey <ja...@gmail.com>
Committed: Mon Feb 16 15:41:48 2015 -0500

----------------------------------------------------------------------
 .../diagnostic/core/internal/HeapDumpProvider.java     | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/440f7d90/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/core/internal/HeapDumpProvider.java
----------------------------------------------------------------------
diff --git a/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/core/internal/HeapDumpProvider.java b/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/core/internal/HeapDumpProvider.java
index b885484..03c50cf 100644
--- a/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/core/internal/HeapDumpProvider.java
+++ b/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/core/internal/HeapDumpProvider.java
@@ -16,17 +16,18 @@
  */
 package org.apache.karaf.diagnostic.core.internal;
 
-import com.sun.management.HotSpotDiagnosticMXBean;
 import org.apache.karaf.diagnostic.core.DumpDestination;
 import org.apache.karaf.diagnostic.core.DumpProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import javax.management.MBeanServer;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.OutputStream;
 import java.lang.management.ManagementFactory;
+import java.lang.reflect.Method;
 
 /**
  * Create a heap dump.
@@ -40,9 +41,13 @@ public class HeapDumpProvider implements DumpProvider {
         OutputStream out = null;
         try {
             MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
-            HotSpotDiagnosticMXBean diagnosticMXBean = ManagementFactory.newPlatformMXBeanProxy(mBeanServer,
-                    "com.sun.management:type=HotSpotDiagnostic", HotSpotDiagnosticMXBean.class);
-            diagnosticMXBean.dumpHeap("heapdump.txt", false);
+            Class<?> diagnosticMXBeanClass = Class.forName("com.sun.management.HotSpotDiagnosticMXBean");
+            Object diagnosticMXBean = ManagementFactory.newPlatformMXBeanProxy(mBeanServer,
+                "com.sun.management:type=HotSpotDiagnostic", diagnosticMXBeanClass);
+
+            Method method = diagnosticMXBeanClass.getMethod("dumpHeap", String.class, boolean.class);
+            method.invoke(diagnosticMXBean, "heapdump.txt", false);
+
             // copy the dump in the destination
             File heapDumpFile = new File("heapdump.txt");
             in = new FileInputStream(heapDumpFile);


[3/3] karaf git commit: KARAF-3536 - remove compile-time dependency on com.sun.management.HotSpotDiagnosticMXBean

Posted by ja...@apache.org.
KARAF-3536 - remove compile-time dependency on com.sun.management.HotSpotDiagnosticMXBean


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/17178f29
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/17178f29
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/17178f29

Branch: refs/heads/master
Commit: 17178f29da72cc7ab17a8e1e2c3eb14487a5a333
Parents: 2288055
Author: Jonathan Anstey <ja...@gmail.com>
Authored: Mon Feb 16 15:51:34 2015 -0500
Committer: Jonathan Anstey <ja...@gmail.com>
Committed: Mon Feb 16 15:51:34 2015 -0500

----------------------------------------------------------------------
 .../diagnostic/core/providers/HeapDumpProvider.java    | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/17178f29/diagnostic/boot/src/main/java/org/apache/karaf/diagnostic/core/providers/HeapDumpProvider.java
----------------------------------------------------------------------
diff --git a/diagnostic/boot/src/main/java/org/apache/karaf/diagnostic/core/providers/HeapDumpProvider.java b/diagnostic/boot/src/main/java/org/apache/karaf/diagnostic/core/providers/HeapDumpProvider.java
index 6a6f040..cff6bfa 100644
--- a/diagnostic/boot/src/main/java/org/apache/karaf/diagnostic/core/providers/HeapDumpProvider.java
+++ b/diagnostic/boot/src/main/java/org/apache/karaf/diagnostic/core/providers/HeapDumpProvider.java
@@ -16,7 +16,6 @@
  */
 package org.apache.karaf.diagnostic.core.providers;
 
-import com.sun.management.HotSpotDiagnosticMXBean;
 import org.apache.karaf.diagnostic.core.DumpDestination;
 import org.apache.karaf.diagnostic.core.DumpProvider;
 
@@ -25,6 +24,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.OutputStream;
 import java.lang.management.ManagementFactory;
+import java.lang.reflect.Method;
 
 /**
  * Create a heap dump.
@@ -37,11 +37,16 @@ public class HeapDumpProvider implements DumpProvider {
         OutputStream out = null;
         try {
             MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
-            HotSpotDiagnosticMXBean diagnosticMXBean = ManagementFactory.newPlatformMXBeanProxy(mBeanServer,
-                    "com.sun.management:type=HotSpotDiagnostic", HotSpotDiagnosticMXBean.class);
+            Class<?> diagnosticMXBeanClass = Class.forName("com.sun.management.HotSpotDiagnosticMXBean");
+            Object diagnosticMXBean = ManagementFactory.newPlatformMXBeanProxy(mBeanServer,
+                "com.sun.management:type=HotSpotDiagnostic", diagnosticMXBeanClass);
+
             heapDumpFile = File.createTempFile("heapdump", ".txt");
             heapDumpFile.delete();
-            diagnosticMXBean.dumpHeap(heapDumpFile.getAbsolutePath(), false);
+            
+            Method method = diagnosticMXBeanClass.getMethod("dumpHeap", String.class, boolean.class);
+            method.invoke(diagnosticMXBean, heapDumpFile.getAbsolutePath(), false);
+
             // copy the dump in the destination
             in = new FileInputStream(heapDumpFile);
             out = destination.add("heapdump.txt");