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 + -
显示快捷键?