public void start() {
		int collectorCount = MXBeanStorage.getInstance().getSize();
		scheduler = Executors.newScheduledThreadPool(collectorCount);
		if (!isRunning()) {
			Collection<MXBean> mxBeans = MXBeanStorage.getInstance().getMXBeans();
			for (MXBean mxBean : mxBeans) {
				DataCollector collector = mxBean.gainDataCollector(agentConfig.getHome().getDirectory());
				scheduler.scheduleWithFixedDelay(collector, 0L, getInterval(), TimeUnit.SECONDS);
				LOG.info("{} started.", collector.getClass().getSimpleName());
			}
			LOG.info("Collection interval : {}s).", getInterval());
			isRunning = true;
		}
	}
start a scheduler for the data collector jobs.
ngrinder-core/src/main/java/org/ngrinder/monitor/collector/DataCollectManager.java