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() { + + @Override + protected Object doInBackground() throws Exception { + return DruidPlugin.this.doInBackground(); + } + }; + + return worer; + } + + protected Object doInBackground() throws Exception { + for (JPanel panel : tabs.values()) { + ((DruidPanel) panel).doInBackground(this.getContext()); + } + + return null; + } + +} diff --git a/src/main/java/com/alibaba/druid/support/jconsole/DruidSQLPanel.java b/src/main/java/com/alibaba/druid/support/jconsole/DruidSQLPanel.java new file mode 100644 index 0000000000..287013431e --- /dev/null +++ b/src/main/java/com/alibaba/druid/support/jconsole/DruidSQLPanel.java @@ -0,0 +1,8 @@ +package com.alibaba.druid.support.jconsole; + + +public class DruidSQLPanel extends DruidPanel { + + private static final long serialVersionUID = 1L; + +} diff --git a/src/main/resources/META-INF/services/com.sun.tools.jconsole.JConsolePlugin b/src/main/resources/META-INF/services/com.sun.tools.jconsole.JConsolePlugin index 8515387e7b..61086f8e00 100644 --- a/src/main/resources/META-INF/services/com.sun.tools.jconsole.JConsolePlugin +++ b/src/main/resources/META-INF/services/com.sun.tools.jconsole.JConsolePlugin @@ -1 +1 @@ -com.alibaba.druid.jconsole.DruidPlugin \ No newline at end of file +com.alibaba.druid.support.jconsole.DruidPlugin \ No newline at end of file