All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.caiguoqing.uyuni.common.MonitorClient Maven / Gradle / Ivy

The newest version!
/**
 * 
 */
package org.caiguoqing.uyuni.common;

import org.caiguoqing.uyuni.config.MonitorConfig;
import org.caiguoqing.uyuni.monitor.MonitorService;
import org.caiguoqing.uyuni.rpc.client.socketclient.SocketClient;
import org.caiguoqing.uyuni.rpc.pub.InterCount;

/**
 * @author caiguoqing0427
 *
 */
public class MonitorClient {
	InterCount interCount;
	MonitorService monitorService;
	
	public void init(MonitorConfig config){
		String address = config.getAddress();
		int pos = address.indexOf(":");
		String host = address.substring(0, pos);
		int port = Integer.parseInt(address.substring(pos+1));
		try {
			monitorService = SocketClient.getInstance().refer(
					MonitorService.class,host,port);
		} catch (Exception e) {
			e.printStackTrace();
			return;
		}
		interCount = SocketClient.getInstance().getCount();
	}
	
	void run(){
		if(interCount == null || monitorService == null){
			return;
		}
		new Thread(new Runnable() {
			public void run() {
				while(true){
					try {
						Thread.sleep(60*1000);
						monitorService.report(interCount.getAll());
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}
		}).start();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy