You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2014/09/12 06:49:39 UTC

git commit: Fix diagnostic dump MBean

Repository: karaf
Updated Branches:
  refs/heads/master 313258e13 -> f55db8c46


Fix diagnostic dump MBean


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

Branch: refs/heads/master
Commit: f55db8c460f174ccfea8345ca068bfcdbd62e62e
Parents: 313258e
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Fri Sep 12 06:49:15 2014 +0200
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Fri Sep 12 06:49:15 2014 +0200

----------------------------------------------------------------------
 .../java/org/apache/karaf/diagnostic/core/Dump.java  |  1 -
 .../apache/karaf/diagnostic/command/DumpCommand.java |  1 +
 .../apache/karaf/diagnostic/internal/Activator.java  |  1 +
 .../management/internal/DiagnosticDumpMBeanImpl.java | 15 +++++++++++++++
 4 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/f55db8c4/diagnostic/boot/src/main/java/org/apache/karaf/diagnostic/core/Dump.java
----------------------------------------------------------------------
diff --git a/diagnostic/boot/src/main/java/org/apache/karaf/diagnostic/core/Dump.java b/diagnostic/boot/src/main/java/org/apache/karaf/diagnostic/core/Dump.java
index 3a4df0a..ab20fd0 100644
--- a/diagnostic/boot/src/main/java/org/apache/karaf/diagnostic/core/Dump.java
+++ b/diagnostic/boot/src/main/java/org/apache/karaf/diagnostic/core/Dump.java
@@ -77,7 +77,6 @@ public final class Dump {
         } catch (Throwable t) {
             // Ignore
         }
-        System.out.println("Created dump " + destination.toString());
     }
 
     // Private constructor

http://git-wip-us.apache.org/repos/asf/karaf/blob/f55db8c4/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/command/DumpCommand.java
----------------------------------------------------------------------
diff --git a/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/command/DumpCommand.java b/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/command/DumpCommand.java
index a7f0694..258c5ef 100644
--- a/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/command/DumpCommand.java
+++ b/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/command/DumpCommand.java
@@ -79,6 +79,7 @@ public class DumpCommand implements Action {
         }
 
         Dump.dump(bundleContext, destination);
+        System.out.println("Created dump " + destination.toString());
 
         return null;
     }

http://git-wip-us.apache.org/repos/asf/karaf/blob/f55db8c4/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/internal/Activator.java
----------------------------------------------------------------------
diff --git a/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/internal/Activator.java b/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/internal/Activator.java
index c54eccb..a94b2bf 100644
--- a/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/internal/Activator.java
+++ b/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/internal/Activator.java
@@ -63,6 +63,7 @@ public class Activator implements BundleActivator {
         });
 
         final DiagnosticDumpMBeanImpl diagnostic = new DiagnosticDumpMBeanImpl();
+        diagnostic.setBundleContext(context);
 
         Hashtable<String, Object> props = new Hashtable<String, Object>();
         props.put("jmx.objectname", "org.apache.karaf:type=diagnostic,name=" + System.getProperty("karaf.name"));

http://git-wip-us.apache.org/repos/asf/karaf/blob/f55db8c4/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/management/internal/DiagnosticDumpMBeanImpl.java
----------------------------------------------------------------------
diff --git a/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/management/internal/DiagnosticDumpMBeanImpl.java b/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/management/internal/DiagnosticDumpMBeanImpl.java
index 958e2ed..bf8903d 100644
--- a/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/management/internal/DiagnosticDumpMBeanImpl.java
+++ b/diagnostic/core/src/main/java/org/apache/karaf/diagnostic/management/internal/DiagnosticDumpMBeanImpl.java
@@ -14,6 +14,8 @@
 package org.apache.karaf.diagnostic.management.internal;
 
 import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
 import javax.management.NotCompliantMBeanException;
 import javax.management.StandardMBean;
@@ -22,6 +24,8 @@ import org.apache.karaf.diagnostic.core.Dump;
 import org.apache.karaf.diagnostic.core.DumpDestination;
 import org.apache.karaf.diagnostic.management.DiagnosticDumpMBean;
 import org.osgi.framework.BundleContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Implementation of diagnostic mbean.
@@ -33,6 +37,10 @@ public class DiagnosticDumpMBeanImpl extends StandardMBean implements Diagnostic
      */
     private BundleContext bundleContext;
 
+    private SimpleDateFormat dumpFormat = new SimpleDateFormat("yyyy-MM-dd_HHmmss");
+
+    private final static Logger LOGGER = LoggerFactory.getLogger(DiagnosticDumpMBeanImpl.class);
+
     /**
      * Creates new diagnostic mbean.
      *
@@ -55,6 +63,12 @@ public class DiagnosticDumpMBeanImpl extends StandardMBean implements Diagnostic
      * {@inheritDoc}
      */
     public void createDump(boolean directory, String name) {
+        if (name == null || name.trim().length() == 0) {
+            name = dumpFormat.format(new Date());
+            if (!directory) {
+                name += ".zip";
+            }
+        }
         File target = new File(name);
 
         DumpDestination destination;
@@ -65,6 +79,7 @@ public class DiagnosticDumpMBeanImpl extends StandardMBean implements Diagnostic
         }
 
         Dump.dump(bundleContext, destination);
+        LOGGER.info("Created dump " + destination.toString());
     }
 
     /**