TopoDisco.java 850 Bytes
package com.sitech.ismp.topo;

import java.util.HashMap;
import java.util.Map;
import java.util.Vector;

import org.apache.log4j.Logger;

import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL;

/**
 * 网络拓扑自动发现
 */
public class TopoDisco implements TopoDiscoMBean {
	private Logger logger = Logger.getLogger(TopoDisco.class);
	private Map<String, TopoDiscoThread> threadMap = new HashMap<String, TopoDiscoThread>();

	public Vector<TblATO_KPIDETAIL> run(HashMap<String, String> params) {
		String scheduleId = params.get("TASK_ID");
		TopoDiscoThread thread = threadMap.get(scheduleId);
		if (thread == null || !thread.isRun()) {
			thread = new TopoDiscoThread(params);
			threadMap.put(scheduleId, thread);

			new Thread(thread).start();
		} else {
			logger.info("Task[" + scheduleId + "] is Running, exit!");
		}
		return null;
	}
}