📄 orderapp.java
字号:
package orderapp;/** * Title:主程序 * Description: * 启动各个线程,监控线程 * Copyright: Copyright (c) 2002 * Company: * @author * @version 1.0 */import data.*;import java.net.*;import java.io.*;public class orderApp { public static Socket socket; public static getThread recv; public static sendThread send; public static sayHello hello; public orderApp() { } public boolean connectXMLRouter(){ try{ System.out.println("try to connect XMLRouter ..."); socket=new Socket(Config.server_host,Config.server_port); socket.setSoTimeout(10000); socket.setSendBufferSize(9192); socket.setReceiveBufferSize(9192); recv=new getThread(new InputStreamReader(socket.getInputStream())); send=new sendThread(socket.getOutputStream()); hello=new sayHello(); hello.startup(); //启动接收、发送线程 send.startup(); recv.startup(); return true; }catch(Exception e){ //e.printStackTrace(); System.out.println("fail to connect to the XMLRouter!"); // Config.log.log(e,"while connect to the XMLRouter!"); } return false; } public static void main(String[] args){ /* String temp=""; temp = utilities.Utility.toHexString("荣"); System.out.println(temp+"[][][]"); */ boolean ConRouter=false; orderApp order=new orderApp(); Config.getConfig(); //log.Log log=new log.Log(); boolean isRuning=true; boolean isLoadService=false; while(!order.connectXMLRouter()){ System.out.println("Connect to XMLRouter("+Config.server_host+":"+Config.server_port+"),wait for a moment to retry!"); try{ Thread.sleep(5000); } catch(Exception e){ e.printStackTrace() ; } } //把mobile_service表中的内容加入Vector ConRouter=true; addServicePool service=new addServicePool(); isLoadService=true; Config.LogPool.push("Load service Pool successfully!!"); //启动moThread线程 moEngineOne MoEngineOne=new moEngineOne(); //moEngineTwo MoEngineTwo=new moEngineTwo(); MoEngineOne.startup(); //moEngineTwo MoEngineTwo=new moEngineTwo(); //MoEngineTwo.startup(); Config.LogPool.push("Startup MoEngine successfully!!"); //MoEngineTwo.startup(); //监控线程 sqlEngine SqlEngine=new sqlEngine(); SqlEngine.startup(); Config.LogPool.push("Startup SqlEngine successfully!!"); //启动收条处理线程 receiptEngine receipt=new receiptEngine(); receipt.startup(); Config.LogPool.push("Startup receiptEngine successfully"); //启动response处理线程 responseEngine response=new responseEngine(); response.startup(); Config.LogPool.push("Startup responseEngine successfully!!"); //responseEngineTwo responseTwo=new responseEngineTwo(); //responseTwo.startup(); //启动www定单处理程序 scanWOrderThread wwwEngine=new scanWOrderThread(); wwwEngine.startup(); Config.LogPool.push("Startup scanWOrderThread successfully!!"); //网关状态获取、处理线程 gatewayEngine GatewayEngine=new gatewayEngine(); GatewayEngine.startup(); Config.LogPool.push("Startup gatewayEngine successfully!!"); //定单补发线程 scanBillThread scanBill=new scanBillThread(); scanBill.startup(); Config.LogPool.push("Startup scanBill successfully!!"); //统计线程 statistics Statistics=new statistics(); Statistics.startup(); Config.LogPool.push("Startup statistics successfully!!"); //写日志线程 writeLog WriteLog=new writeLog(); WriteLog.startup(); Config.LogPool.push("Startup WriteLog successfully!!"); // //scanBillThreadTwo scanBillTwo=new scanBillThreadTwo(); //scanBillTwo.startup(); while(isRuning){ //输出流出错后重连Router机制 if(Config.ps.checkError() ){ while(!order.connectXMLRouter()){ System.out.println("Connect to XMLRouter("+Config.server_host+":"+Config.server_port+"),wait for a moment to retry!"); try{ Thread.sleep(5000); } catch(Exception e){ e.printStackTrace() ; } } } if((utilities.Utility.getTimeStr()).startsWith("00001")&&isLoadService){ System.out.println(utilities.Utility.getTimeStr()+"<><><>"); //每天重新读一次service表 service=null; service=new addServicePool(); //每天生成新的log日志。 Config.getConfig(); //log=new log.Log(); Config.LogPool.push("Load servicePool and LogFile again successfully!!"); } try{ System.out.println("mo "+Config.getMo()+"___mt "+Config.getMt()+"___"+Config.resp+"____resp"); Config.LogPool.push("mo: "+Config.getMo()+"\t;mt: "+Config.getMt()+"\t;resp: "+Config.resp); Thread.sleep(5000); } catch(Exception e){ e.printStackTrace() ; Config.LogPool.push("Write the Number of MoMt Error!!"); } //线程监控 if(!send.isAlive() ||!recv.isAlive()){ //写log Config.LogPool.push("send and recv Thread have stop!!"); send.shutdown(); try{ send.nap(); recv.nap(); } catch(Exception e){ e.printStackTrace(); } send.interrupt(); recv.nap(); send.startup(); recv.startup(); Config.LogPool.push("send and recv Thread reset successfully!!"); } if(!MoEngineOne.isAlive() ){ MoEngineOne.shutdown(); Config.LogPool.push("MoEngineOne stop!!"); try{ MoEngineOne.nap(); } catch(Exception e){ e.printStackTrace(); } MoEngineOne.interrupt(); MoEngineOne.startup(); Config.LogPool.push("MoEngineOne startup again!!"); } if(!SqlEngine.isAlive() ){ Config.LogPool.push("SqlEngine stop"); SqlEngine.shutdown(); try{ SqlEngine.nap(); } catch(Exception e){ e.printStackTrace(); } SqlEngine.interrupt(); SqlEngine.startup(); Config.LogPool.push("SqlEngine startup again"); } if(!receipt.isAlive() ){ Config.LogPool.push("receipt stop"); receipt.shutdown(); try{ receipt.nap(); } catch(Exception e){ e.printStackTrace(); } receipt.interrupt(); receipt.startup(); Config.LogPool.push("receipt startup again"); } if(!response.isAlive() ){ Config.LogPool.push("response stop"); response.shutdown(); try{ response.nap(); } catch(Exception e){ e.printStackTrace(); } response.interrupt(); response.startup(); Config.LogPool.push("response startup again"); } if(!wwwEngine.isAlive() ){ Config.LogPool.push("wwwEngine stop"); wwwEngine.shutdown(); try{ wwwEngine.nap(); } catch(Exception e){ e.printStackTrace(); } wwwEngine.interrupt(); wwwEngine.startup(); Config.LogPool.push("wwwEngine startup again"); } if(!GatewayEngine.isAlive() ){ Config.LogPool.push("GatewayEngine stop"); GatewayEngine.shutdown(); try{ GatewayEngine.nap(); } catch(Exception e){ e.printStackTrace(); } GatewayEngine.interrupt(); GatewayEngine.startup(); Config.LogPool.push("GatewayEngine startup again"); }/* if(!scanBill.isAlive() ){ Config.LogPool.push("scanBill stop"); scanBill.shutdown(); try{ scanBill.nap(); } catch(Exception e){ e.printStackTrace(); } scanBill.interrupt(); scanBill.startup(); Config.LogPool.push("scanBill startup again"); }*/ if(!Statistics.isAlive() ){ Config.LogPool.push("Statistics stop"); Statistics.shutdown(); try{ Statistics.nap(); } catch(Exception e){ e.printStackTrace(); } Statistics.interrupt(); Statistics.startup(); Config.LogPool.push("Statistics startup again"); } } Config.LogPool.push("exit !!"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -