Search in sources :

Example 1 with SpiderListener

use of us.codecraft.webmagic.SpiderListener in project webmagic by code4craft.

the class SpiderMonitor method register.

/**
     * Register spider for monitor.
     *
     * @param spiders spiders
     * @return this
     * @throws JMException JMException
     */
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;
}
Also used : SpiderListener(us.codecraft.webmagic.SpiderListener) Spider(us.codecraft.webmagic.Spider) ArrayList(java.util.ArrayList)

Aggregations

ArrayList (java.util.ArrayList)1 Spider (us.codecraft.webmagic.Spider)1 SpiderListener (us.codecraft.webmagic.SpiderListener)1