CollTomcat.java 3.33 KB
package com.sitech.ismp.coll.middleware.tomcat;

import com.sitech.ismp.check.downtime.CheckConnectionState;
import com.sitech.ismp.check.downtime.ParamterBean;
import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL;
import com.sitech.ismp.coll.middleware.tomcat.impl.ICollTomcat;
import com.sitech.ismp.coll.middleware.tomcat.impl.TomcatCollFactory;
import com.sitech.util.Formater;

import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.Vector;

public class CollTomcat implements CollTomcatMBean {

	public Vector<TblATO_KPIDETAIL> getMemory(HashMap<String, String> params) {
		TomcatCollFactory factory = new TomcatCollFactory();
		ICollTomcat coll = factory.getCollInstance(params);
		if (coll != null) {
			return coll.getMemory(params);
		}
		return null;
	}

	public Vector<TblATO_KPIDETAIL> getRuntime(HashMap<String, String> params) {
		TomcatCollFactory factory = new TomcatCollFactory();
		ICollTomcat coll = factory.getCollInstance(params);
		if (coll != null) {
			return coll.getRuntime(params);
		}
		return null;
	}

	public Vector<TblATO_KPIDETAIL> getSession(HashMap<String, String> params) {
		TomcatCollFactory factory = new TomcatCollFactory();
		ICollTomcat coll = factory.getCollInstance(params);
		if (coll != null) {
			return coll.getSession(params);
		}
		return null;
	}

	public Vector<TblATO_KPIDETAIL> getThreadPool(HashMap<String, String> params) {
		TomcatCollFactory factory = new TomcatCollFactory();
		ICollTomcat coll = factory.getCollInstance(params);
		if (coll != null) {
			return coll.getThreadPool(params);
		}
		return null;
	}

	@Override
	public Vector<TblATO_KPIDETAIL> getClassLoading(
			HashMap<String, String> params) {
		TomcatCollFactory factory = new TomcatCollFactory();
		ICollTomcat coll = factory.getCollInstance(params);
		if (coll != null) {
			return coll.getClassLoading(params);
		}
		return null;
	}

	/**
	 * 获取中间件所在主机的ping状态。
	 * @param params
	 * @return
	 */
	@Override
	public Vector<TblATO_KPIDETAIL> getPingStatus(HashMap<String, String> params) {
		Vector<TblATO_KPIDETAIL> vector=new Vector<TblATO_KPIDETAIL>();
		String jmx_url=params.get("JMX_URL");
		int start=jmx_url.indexOf("/rmi://");
		int end=jmx_url.lastIndexOf(":");
		String ip=jmx_url.substring(start+7,end);
		String domain_name = params.get("DOMAIN_NAME");
		String unitId = "10-12-13-12:" + Formater.neatenunitid(domain_name) + "-MEMORY";
		CheckConnectionState server=new CheckConnectionState();
		TblATO_KPIDETAIL kpidetail=new TblATO_KPIDETAIL();
		try {
			kpidetail.setUNIT_ID(unitId);
			kpidetail.setKPI_ID("FM-00-12-001-999");
			kpidetail.setKPI_VALUE(server.getPingState(new ParamterBean(ip)));
			kpidetail.setCLL_TIME(new Date());
			vector.add(kpidetail);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return vector;
	}
	
	
	public static void main(String [] args){
	    String jmx_url="service:jmx:rmi:///jndi/rmi://172.21.1.100:1093/jmxrmi";
		int start=jmx_url.indexOf("/rmi://");
		int end=jmx_url.lastIndexOf(":");

		String ip=jmx_url.substring(start+7,end);
		System.out.println(ip);
	}

	@Override
	public Vector<TblATO_KPIDETAIL> getThreading(HashMap<String, String> params) {
		TomcatCollFactory factory = new TomcatCollFactory();
		ICollTomcat coll = factory.getCollInstance(params);
		if (coll != null) {
			return coll.getThreading(params);
		}
		return null;
	}
}