diff --git a/pom.xml b/pom.xml
index e950290e56..9cf18e9825 100644
--- a/pom.xml
+++ b/pom.xml
@@ -170,6 +170,50 @@
+
+
+ default-profile
+
+ true
+
+ ${java.home}/../lib/jconsole.jar
+
+
+
+ ${java.home}/../lib/jconsole.jar
+
+
+
+
+ com.alibaba
+ jconsole
+ 1.6.0
+ system
+ ${jconsolejar}
+ true
+
+
+
+
+ mac-profile
+
+ false
+
+ ${java.home}/../Classes/jconsole.jar
+
+
+
+
+ com.alibaba
+ jconsole
+ 1.6.0
+ system
+ ${java.home}/../Classes/jconsole.jar
+
+
+
+
+
javax.servlet
diff --git a/src/main/java/com/alibaba/druid/support/jconsole/DruidDataSourcePanel.java b/src/main/java/com/alibaba/druid/support/jconsole/DruidDataSourcePanel.java
new file mode 100644
index 0000000000..d9d8345043
--- /dev/null
+++ b/src/main/java/com/alibaba/druid/support/jconsole/DruidDataSourcePanel.java
@@ -0,0 +1,7 @@
+package com.alibaba.druid.support.jconsole;
+
+public class DruidDataSourcePanel extends DruidPanel {
+
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/com/alibaba/druid/support/jconsole/DruidDriverPanel.java b/src/main/java/com/alibaba/druid/support/jconsole/DruidDriverPanel.java
new file mode 100644
index 0000000000..81a2fc6685
--- /dev/null
+++ b/src/main/java/com/alibaba/druid/support/jconsole/DruidDriverPanel.java
@@ -0,0 +1,7 @@
+package com.alibaba.druid.support.jconsole;
+
+public class DruidDriverPanel extends DruidPanel {
+
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/com/alibaba/druid/support/jconsole/DruidPanel.java b/src/main/java/com/alibaba/druid/support/jconsole/DruidPanel.java
new file mode 100644
index 0000000000..8f1b2e4bf3
--- /dev/null
+++ b/src/main/java/com/alibaba/druid/support/jconsole/DruidPanel.java
@@ -0,0 +1,21 @@
+package com.alibaba.druid.support.jconsole;
+
+import javax.management.MBeanServerConnection;
+import javax.swing.JPanel;
+
+import com.sun.tools.jconsole.JConsoleContext;
+
+public class DruidPanel extends JPanel {
+
+ private static final long serialVersionUID = 1L;
+
+ protected Object doInBackground(JConsoleContext context) throws Exception {
+ doInBackground(context.getMBeanServerConnection());
+
+ return null;
+ }
+
+ protected void doInBackground(MBeanServerConnection conn) throws Exception {
+ System.out.println("doInBackground");
+ }
+}
diff --git a/src/main/java/com/alibaba/druid/support/jconsole/DruidPlugin.java b/src/main/java/com/alibaba/druid/support/jconsole/DruidPlugin.java
new file mode 100644
index 0000000000..80b7f9e73d
--- /dev/null
+++ b/src/main/java/com/alibaba/druid/support/jconsole/DruidPlugin.java
@@ -0,0 +1,47 @@
+package com.alibaba.druid.support.jconsole;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import javax.swing.JPanel;
+import javax.swing.SwingWorker;
+
+import com.sun.tools.jconsole.JConsolePlugin;
+
+public class DruidPlugin extends JConsolePlugin {
+
+ private final Map tabs = new LinkedHashMap();
+
+ public DruidPlugin(){
+ tabs.put("Druid-Driver", new DruidDriverPanel());
+ tabs.put("Druid-DataSource", new DruidDataSourcePanel());
+ tabs.put("Druid-SQL", new DruidSQLPanel());
+ }
+
+ @Override
+ public Map getTabs() {
+ return tabs;
+ }
+
+ @Override
+ public SwingWorker, ?> newSwingWorker() {
+ SwingWorker, ?> worer = new SwingWorker