code: public synchronized SpiderMonitor register(Spider... spiders) throws JMException {
          for (Spider spider : spiders) {
              MonitorSpiderListener monitorSpiderListener = new MonitorSpiderListener();
              if (spider.getSpiderListeners() == null) {
                  List<SpiderListener> spiderListeners = new ArrayList<SpiderListener>();
                  spiderListeners.add(monitorSpiderListener);
                  spider.setSpiderListeners(spiderListeners);
              } else {
                  spider.getSpiderListeners().add(monitorSpiderListener);
              }
              SpiderStatusMXBean spiderStatusMBean = getSpiderStatusMBean(spider, monitorSpiderListener);
              registerMBean(spiderStatusMBean);
              spiderStatuses.add(spiderStatusMBean);
          }
          return this;
      }
docs: Register spider for monitor.
  
  @param spiders spiders
  @return this
  @throws JMException JMException