jianguan3.java
来自「《移动Agent技术》一书的所有章节源代码。」· Java 代码 · 共 725 行 · 第 1/2 页
JAVA
725 行
/*
* @(#)ServerApp.java
*
* The program is provided "as is" without any warranty express or
* implied, including the warranty of non-infringement and the implied
* warranties of merchantibility and fitness for a particular purpose.
* IBM will not be liable for any damages suffered by you as a result
* of using the Program. In no event will IBM be liable for any
* special, indirect or consequential damages or lost profits even if
* IBM has been advised of the possibility of their occurrence. IBM
* will not be liable for any third party claims against you.
*/
package jianguan;
import com.ibm.aglet.*;
import com.ibm.aglet.system.*;
import java.net.URL;
import java.util.Properties;
import com.ibm.awb.util.Resource;
import com.ibm.atp.daemon.Daemon;
//added
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.*;
import com.ibm.aglet.event.*;
import java.util.Date;
import java.text.*;
public class jianguan3 extends ContextAdapter {
//end add
public void agletCreated(ContextEvent ev) {
System.out.println("Aglet Created : " + ev.getAgletProxy());
}
public void agletCloned(ContextEvent ev) {
System.out.println("Aglet Cloned : " + ev.getAgletProxy());
}
public void agletArrived(ContextEvent ev) {
System.out.println("Aglet Arrived : " + ev.getAgletProxy());
}
public void agletActivated(ContextEvent ev) {
System.out.println("Aglet Activated : " + ev.getAgletProxy());
}
public void agletDisposed(ContextEvent ev) {
System.out.println("Aglet Disposed : " + ev.getAgletProxy());
}
public void agletDispatched(ContextEvent ev) {
System.out.println("Aglet Dispatched : " + ev.getAgletProxy());
}
public void agletDeactivated(ContextEvent ev) {
System.out.println("Aglet Deactivated : " + ev.getAgletProxy());
}
public void agletReverted(ContextEvent ev) {
System.out.println("Aglet Reverted : " + ev.getAgletProxy());
}
public void showMessage(ContextEvent ev) {
System.out.println("message : " + ev.getMessage());
}
//
public static void main(String args[]) throws java.lang.Exception {
log log=null;
ResultSet rs,rs2,rs3,rs4,rs5,rs6,rs7,rs8;
String tmpstr;
//AgletProxy[] p=new AgletProxy[1]; //used for the master
tableSql d,t2,t3,t4,t5,t6=null,tt=null,t7,t8;
// String[][] bzj=new String[500][4];
// String[][][] rec=new String[4][500][20];
String GDDM,GDXM,BCRQ,GSDM,ZQDM,SBSJ,SQBH,BS,MJBH,Description,DateTime=null;
String FCJHM,FZQDM,FHTXH,FCJSJ,FGDDM,FDFXH,FDFGD,FMARK;
int UnitID;
float CJBH,CJSL,BCYE,CJSJ,CJJG,CJJE;
int FMMLB=0,FCJSL=0;
float FCJJG=0;
//
String HZBZ;
int BCJSL=0,SCJSL=0;
float BCJJE=0,SCJJE=0,YHS=0,JSF=0,GHF=0,ZGF=0;
//
//
String FZSDM,FDATE;
int FBSL=0,FSSL=0;
float FBJE=0,FSJE=0,FBJSF=0,FSJSF=0,FBYHS=0,FSYHS=0;
//
//
int fazhi=0,jiaoyiliang=0,jiaoyizijin=0,bilifanwei=0,jiaoyizonge=0,cycle=0,other=0;
long maxnum=0,maxnum2=0,maxbzjnum=0,maxbzjnum2=0;
//added
// int no=0;///no used for order of record
//int no2=0;
com.ibm.atp.daemon.Main.importOptions(args);
//
// Create and initialize a server.
//
Daemon daemon = Daemon.init(null);
daemon.setAccessLogStream(System.out);
daemon.setMessageLogStream(System.out);
daemon.setErrorLogStream(System.err);
//
// Obtains a runtime object
//
AgletRuntime runtime = AgletRuntime.init(null);
//
// Creates a named context. To dispatch to this context, you have to
// specify the destination, for example,
// "atp://aglets.trl.ibm.com:434/test"
//
AgletContext cxt = runtime.createAgletContext("test");
cxt.addContextListener(new jianguan3());
// If you want to allow incoming aglets to use GUI.
// initialize gui....
try {
Class.forName("sun.awt.image.JPEGImageDecoder");
Class.forName("sun.audio.AudioPlayer");
} catch (Exception ex) {
ex.printStackTrace();
}
try {
Class.forName("sun.awt.PlatformFont"); // for 1.1
} catch (Exception ex) {
ex.printStackTrace();
}
try {
new java.awt.Frame().addNotify();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
}
try {
Class.forName("sun.awt.ScreenUpdater");
} catch (Throwable t) {
}
//
// Starts this server as aglets server.
//
daemon.start("aglets");
//
// Starts the AgletContext.
//
cxt.start();
//
// From here on, you can use this context.
// (creating, dispatching an aglet, for instance)
//
//ServerApp server=new ServerApp();
///query db and display result
/**************************************************************/
while (true)
{
try
{
Date ndate = new Date();
String logtime=DateFormat.getDateInstance().format(ndate);
String logtime2=DateFormat.getTimeInstance().format(ndate);
String time=DateFormat.getDateInstance().format(ndate);
int begin,end,begin2,hour;
String year,month,day,date,date2;
begin=logtime.indexOf("-");
end=logtime.lastIndexOf("-");
year=logtime.substring(0,begin);
month=logtime.substring(begin+1,end);
day=logtime.substring(end+1);
begin2=logtime2.indexOf(":");
hour=Integer.parseInt(logtime2.substring(0,begin2));
String[] maxTemp=new String[2];
int no=0,no2=0,no3=0,no4=0;
String[][] bzj=new String[500][14];
String[] bzjTemp=new String[13];
String[][] qs=new String[500][14];
String[][] jqs=new String[500][14];
String[] qsTemp=new String[13];
String[] jqsTemp=new String[13];
String[][][] rec=new String[4][500][20];
log=new log();
log.Init("cqjk");
d = new tableSql();
d.novellInit("novell");
t2 = new tableSql();
t2.tableInit("cqjk");
// t7 = new tableSql();
//t7.tableInit("cqjk");
// t8 = new tableSql();
//t8.tableInit("cqjk");
//
// rs7 = t7.recordSql("select * from QBCj127");
// rs8 = t8.recordSql("select * from QBCj127");
try
{
rs2 = t2.recordSql("select * from MonitoredValueInfo");
while(rs2.next())
{
if (Integer.parseInt(rs2.getString("MonitoredValueID"))==1)
{
jiaoyiliang=Integer.parseInt(rs2.getString("MonitoredValue"));
System.out.println("jiaoyiliang is: "+jiaoyiliang);
}
else if (Integer.parseInt(rs2.getString("MonitoredValueID"))==2)
{
jiaoyizijin=Integer.parseInt(rs2.getString("MonitoredValue"));
System.out.println("jiaoyizijin: "+jiaoyizijin);
}
else if (Integer.parseInt(rs2.getString("MonitoredValueID"))==3)
{
bilifanwei=Integer.parseInt(rs2.getString("MonitoredValue"));
System.out.println("bilifanwei: "+bilifanwei);
}
else if (Integer.parseInt(rs2.getString("MonitoredValueID"))==4)
{
fazhi=Integer.parseInt(rs2.getString("MonitoredValue"));
System.out.println("fazhi: "+fazhi);
}
else if (Integer.parseInt(rs2.getString("MonitoredValueID"))==5)
{
jiaoyizonge=Integer.parseInt(rs2.getString("MonitoredValue"));
System.out.println("jiaoyizonge: "+jiaoyizonge);
}
}
}
catch (Exception ex) {
ex.printStackTrace();
}
//
try
{ rs2 = t2.recordSql("select * from AgentSetupValueInfo");
while(rs2.next())
{
if (Integer.parseInt(rs2.getString("ValueID"))==1)
{
cycle=Integer.parseInt(rs2.getString("SetupValue"));
System.out.println("cycle is: "+cycle);
}
else
{
other=Integer.parseInt(rs2.getString("SetupValue"));
System.out.println("other is: "+other);
}
}//end while
}
catch (Exception ex) {
ex.printStackTrace();
}
try
{
rs2 = t2.recordSql("select * from ZTB");
while(rs2.next())
{
for(int j=0;j<2;j++)
{
maxTemp[j]=rs2.getString(j+1);
}
//
date=maxTemp[0];
date2=maxTemp[1];
//
maxnum=Long.valueOf(date).longValue();
maxnum2=maxnum;
maxbzjnum=Long.valueOf(date2).longValue();
maxbzjnum2=maxbzjnum;
System.out.println("maxnum: "+maxnum);
System.out.println("maxbzjnum: "+maxbzjnum);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
//t = new tableSql();
//t.tableInit("cqjk");
File input =new File("z:\\public\\database\\qbcj128.dbf");
if (input.exists())
{
try
{
rs = d.recordSql("select * from qbcj128 where CJSL>="+fazhi+" order by CJBH ASC");
ResultSetMetaData rsmd=rs.getMetaData();
int numCols=rsmd.getColumnCount();
String[][] record=new String[500][numCols+3];
String[] recordTemp=new String[numCols];
while (rs.next()){
for(int i=0;i<numCols;i++){
recordTemp[i]=rs.getString(i+1);
// System.out.println(recordTemp[i]);
}
if (Long.parseLong(year+month+day+recordTemp[3])> maxnum)
{
for(int i=0;i<numCols;i++)
record[no][i]=recordTemp[i];
record[no][15]="1";
record[no][16]="from 001";
record[no][17]=time;
no++;
maxnum=Long.parseLong(year+month+day+recordTemp[3]);
System.out.println("maxnum= "+maxnum);
}
}//end while
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?