shezhi.java

来自「《移动Agent技术》一书的所有章节源代码。」· Java 代码 · 共 280 行

JAVA
280
字号
package shezhi;
import java.io.*;
import java.net.*;
import java.sql.*;

import java.util.*;
import com.ibm.aglet.*;
import com.ibm.aglet.event.*;


public class shezhi extends Aglet {		

	ResultSet rs1,rs2,rs3;
	String tmpstr;
	int fazhi=0,jiaoyiliang=0,jiaoyizijin=0,bilifanwei=0,jiaoyizonge=0,cycle=0,other=0;
	String gudongdaima="",zhengquandaima="";
	String[] dest=new String[50];
	String[] Unit=new String[50];
   String[][] record=new String[10][9];
		tableSql t1,t2,t3;	
	AgletContext cxt=null;
	log log;

	
	public void onCreation(Object o) {		
	
     while (true)
	 {
	 int no=0;
	 int number=0;
	 int Change=0,change=0;
	 log=new log();
	 log.Init("zqjk");	
	 try
	  {
	 String[] recordTemp=new String[5];
	 String[] recordTemp2=new String[5];
	 String[] UnitTemp=new String[8];
	  String[][] Unify=new String[15][7];
	 t1 = new tableSql();
	 t1.tableInit("zqjk");
	 
	 t2 = new tableSql();
	 t2.tableInit("zqjk");
	 
	 t3 = new tableSql();
	 t3.tableInit("zqjk");
	
   try
    {
	rs2 = t2.recordSql("select * from UnitInfo where dispatchflag="+1);
	while (rs2.next()){				
			for(int i=0;i<8;i++){
			UnitTemp[i]=rs2.getString(i+1);
				                     }
									 
				dest[no]= UnitTemp[3];
				Unit[no]=UnitTemp[1];
				no++;
				
			             }//end while
   }
    catch (Exception ex) { 
            ex.printStackTrace(); 
                         } 

			   dest[no]=null;
		
		try
		{
			rs2 = t2.recordSql("select * from MonitoredValueInfo where Change="+1);
		while(rs2.next())
			Change=1;
		}
		 catch (Exception ex) { 
            ex.printStackTrace(); 
                         } 
						 
			try
		{
			rs2 = t2.recordSql("select * from AgentSetupValueInfo where Change="+1);
		while(rs2.next())
			change=1;
		}
		 catch (Exception ex) { 
            ex.printStackTrace(); 
                         } 

			   
	try
    {
	rs3 = t3.recordSql("select * from UnifyMonitoredValueInfo order by MonitoredValueID asc");
	while (rs3.next()){				
			for(int i=0;i<7;i++){
			Unify[number][i]=rs3.getString(i+1);
			                     }
			number++;						 
				
		             }//end while
   }
   catch (Exception ex) { 
            ex.printStackTrace(); 
                         } 
						 
						 	  
	  
	  
	  try
	  {
	  	for (int j=0;j<no;j++)
		{
		if(Integer.parseInt(Unify[0][6])==1)
			{
				for(int k=0;k<7;k++)
				{
				record[j][k]=Unify[k][2];
					System.out.println(record[j][k]);
				}
				
				log.UpdateUnify();
				log.Change(Unit[j]);
				log.Change1(Unit[j]);
				log.Change13(Unit[j]);
				log.Change14(Unit[j]);
				log.Change15(Unit[j]);
				log.Change16(Unit[j]);
				log.Change17(Unit[j]);
				log.Change2();
				log.Change3();
				
				
			}
			else
			{
		
		System.out.println("UnitName IS "+Unit[j]);
	  rs2 = t2.recordSql("select * from MonitoredValueInfo where UnitName="+"'"+Unit[j]+"'"+"order by MonitoredValueID asc");
    	while(rs2.next())
		{
			for(int i=0;i<5;i++){
			recordTemp[i]=rs2.getString(i+1);
				                     }
		  // Change=Integer.parseInt(recordTemp[4]);
		   if(Change==1)
			{
	     	if (Integer.parseInt(recordTemp[0])==1)
				{
				record[j][0]=recordTemp[2];
				System.out.println("jiaoyiliang is: "+record[j][0]);
				log.Change(Unit[j]);
		        }
		    else if (Integer.parseInt(recordTemp[0])==2)
				{
				record[j][1]=recordTemp[2];
				System.out.println("jiaoyizijin is: "+record[j][1]);
				log.Change1(Unit[j]);
				}
			  else if (Integer.parseInt(recordTemp[0])==3)
				{
				record[j][2]=recordTemp[2];
				System.out.println("bilifanwei is: "+record[j][2]);
				log.Change13(Unit[j]);
				}
			  else if (Integer.parseInt(recordTemp[0])==4)
				{
				record[j][3]=recordTemp[2];
				System.out.println("fazhi is: "+record[j][3]);
				log.Change14(Unit[j]);
				}
			  else if (Integer.parseInt(recordTemp[0])==5)
				{
				record[j][4]=recordTemp[2];
				System.out.println("jiaoyizonge is: "+record[j][4]);
				log.Change15(Unit[j]);
				}
			  else if (Integer.parseInt(recordTemp[0])==6)
				{
				record[j][5]=recordTemp[2];
				System.out.println("gudongdaima is: "+record[j][5]);
				log.Change16(Unit[j]);
				}
				
				  else if (Integer.parseInt(recordTemp[0])==7)
				{
				record[j][6]=recordTemp[2];
				System.out.println("zhengquandaima is: "+record[j][6]);
				log.Change17(Unit[j]);
				}
					
				
			}//end if(Change=1)
		}//end while
			}//end else
		//*************
		try
		{
		rs1 = t1.recordSql("select * from AgentSetupValueInfo order by ValueID asc");
		while(rs1.next())
		{
			for(int k=0;k<5;k++){
				recordTemp2[k]=rs1.getString(k+1);
				                     }
	    //	change=Integer.parseInt(recordTemp2[4]);	
		if (change==1)
		
		{
		
		if (Integer.parseInt(recordTemp2[0])==1)
				{
				record[j][7]=recordTemp2[2];
				cycle=Integer.parseInt(recordTemp2[2]);
					System.out.println("cycle is: "+cycle);
					log.Change2();
		        }
		else
				{
				record[j][8]=recordTemp2[2];
				System.out.println("other is: "+record[j][8]);
				log.Change3();
				}
		}//end if(change==1)
	
		}//end while
		
		}//end try
		 catch (Exception ex) { 
            ex.printStackTrace(); 
        } 
		//**************
		
		}//end for
		
	  }//end try
	  catch (Exception ex) { 
            ex.printStackTrace(); 
        } 
		
		
		
		 	record[no][0]=null;
			t2.closeConnect();
			t1.closeConnect();
			t3.closeConnect();
			
		Thread.sleep(10000);
	
		System.out.println("cycle is: "+cycle);
			 if (Change==1||change==1||Integer.parseInt(Unify[0][6])==1)
			 {
			
			AgletContext context = getAgletContext();
			AgletProxy proxy = context.createAglet(null, "shezhi.shezhiClient", getProxy());
			//proxy.sendOnewayMessage(new Message("dispatch",dest));
			System.out.println("i have dispach setupProxy");
			//proxy.sendOnewayMessage(new Message("sendWrite",record));
			System.out.println("i have send writemesage to setupProxy");
			log.Add("success","setupClient:setupClient create and dispatch setupProxy success!");
			
			 }//end if(Change==1||change==1)
			 
			 Thread.sleep(cycle);
             	}//end try
				catch (InvalidAgletException ex) {
	   			ex.printStackTrace();
				log.Add("error","setupClient:setupClient dispatch setupProxy failed");
		                                 } 
			catch (Exception ex){
					ex.printStackTrace();
			                	}
	}//end while(true)	
		
	}//end onCreation
	

			}//end shezhi
			
	
	
			

⌨️ 快捷键说明

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