⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monitor.java

📁 分布式计算平台P2HP-1的源代码;P2HP-1是基于P2P的高性能计算平台
💻 JAVA
字号:
package cn.edu.hust.cgcl.biogrid.monitor;

import java.net.InetAddress;


/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class Monitor extends Thread
{
    public String monitorId = "M01";
    //public MonitorInfo mInfo;
    //public MonitorConfiuration mConfiguration;
    //public MonitorNode mNode;
    public DispatcherGroup dGroup;
    public MonitorGroup mGroup;
    public int nodePort = 6000;
    public LocalMonitorNode localnode;
    MonitorNodeManagement nodeManager;
    RPCComm mRPCComm;
    MonitorJobManagement jobManagement;
    private LogFile lf;

    public Monitor()
    {
    }
    public void  run()
    {
    	if(MonitorConfiuration.MonLogIsActive)
        {
        lf=new LogFile(MonitorConfiuration.logFileName);
        try{
        lf.logMonitor_login(InetAddress.getLocalHost().getHostAddress());
        }catch(Exception e)
		{
        	e.printStackTrace();
		}
        }
        //monip=InetAddress.getLocalHost().getHostAddress();
        //mInfo=new MonitorInfo(monitorId,0,0,0,0,0,0,true);
        dGroup = new DispatcherGroup(monitorId, "");
        localnode = new LocalMonitorNode();
        /*
                 MonitorConfiuration mconfiguration=new MonitorConfiuration();
                 //mconfiguration=localnode.monConfig;
                 mconfiguration.monitorId=localnode.monitorInfo.getMonitorId();
                 mconfiguration.monitorIp=localnode.monConfig.getMonitorIp();
                 mconfiguration.joinPort=localnode.monConfig.getJoinPort();
                 mconfiguration.jobPort=localnode.monConfig.getJobPort();
                 mconfiguration.queryPort=localnode.monConfig.getQueryPort();
                 //mGroup = new MonitorGroup(localnode.monitorInfo, );
         */
        nodeManager = new MonitorNodeManagement(dGroup,
                                                mGroup,
                                                localnode.monitorInfo,
                                                nodePort,
                                                localnode);
        //mRPCComm = new RPCComm(dGroup, );
        jobManagement = new MonitorJobManagement(mGroup,
                                                 localnode.monitorInfo,
                                                 localnode.monConfig.getJobPort());
        this.mRPCComm=new RPCComm(this.dGroup, this.jobManagement);

        nodeManager.start();
        jobManagement.StartJobServer();
        mRPCComm.start();
        
        //log
        if(MonitorConfiuration.MonLogIsActive)
        {
        lf=new LogFile(MonitorConfiuration.logFileName);
        try{
        lf.logMonitor_login_Succ(InetAddress.getLocalHost().getHostAddress(),this.monitorId);
        }catch(Exception e)
		{
        	e.printStackTrace();
		}
        }
        try{
            while (!interrupted()&&true)
            {
                
                    Thread.sleep(1000 * 60);
            } // while
            }
            catch(InterruptedException e)
    		{
            	System.out.println("Monitor start to quiting...");
        		quit();//stop the thread. and notify dispatcher and worker to deal with.
        		System.out.println("Monitor's quitting finished!");
        		return;
    		}
            System.out.println("Monitor start to quiting...");
    		quit();
            System.out.println("Monitor's quitting finished!");
            return;
    } // Monitor
    
    public void quit()
    {
    	nodeManager.quit();
    	jobManagement.quit();
    	mRPCComm.quit();
    	
    	//log
    	if(MonitorConfiuration.MonLogIsActive)
    	{
    	lf=new LogFile(MonitorConfiuration.logFileName);
    	try{
    	lf.logMonitor_quit(InetAddress.getLocalHost().getHostAddress(),this.monitorId);
    	}catch(Exception e)
		{
    		e.printStackTrace();
		}
    	}
    	return;
    }

    public static void main(String args[])
    {
        System.out.print("begin\n");
        Monitor monitor = new Monitor();
        monitor.start();
    } // main

} // Monitor

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -