From 04fde8203b175a259ee102b2cfa94bd4aa36a298 Mon Sep 17 00:00:00 2001 From: "yihua.huang" Date: Sat, 26 Apr 2014 11:44:14 +0800 Subject: [PATCH] add control for monitor --- .../java/us/codecraft/webmagic/monitor/SpiderMonitor.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/webmagic-extension/src/main/java/us/codecraft/webmagic/monitor/SpiderMonitor.java b/webmagic-extension/src/main/java/us/codecraft/webmagic/monitor/SpiderMonitor.java index ea9b374..265efc7 100644 --- a/webmagic-extension/src/main/java/us/codecraft/webmagic/monitor/SpiderMonitor.java +++ b/webmagic-extension/src/main/java/us/codecraft/webmagic/monitor/SpiderMonitor.java @@ -52,6 +52,8 @@ public class SpiderMonitor { private Type type = Type.Local; + private JMXConnectorServer jmxConnServer; + private List spiderStatuses = new ArrayList(); public List getSpiders() { @@ -214,7 +216,7 @@ public class SpiderMonitor { JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + jndiServer + ":" + rmiPort + "/" + jmxServerName); System.out.println("JMXServiceURL: " + url.toString()); System.out.println("Please replace localhost of your ip if you want to connect it in remote server."); - JMXConnectorServer jmxConnServer = JMXConnectorServerFactory.newJMXConnectorServer(url, null, localServer); + jmxConnServer = JMXConnectorServerFactory.newJMXConnectorServer(url, null, localServer); jmxConnServer.start(); } @@ -222,6 +224,8 @@ public class SpiderMonitor { objName = new ObjectName(jmxServerName + ":name=" + spiderStatus.getName()); localServer.registerMBean(spiderStatus, objName); } + objName = new ObjectName(jmxServerName + ":name=WebMagicMonitor"); + localServer.registerMBean(jmxConnServer, objName); return this; }