package main;
|
import java.sql.Connection;
|
import java.sql.SQLException;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.Map;
|
import java.util.TimeZone;
|
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
|
import com.base.Com;
|
import com.battalarm.AppAlm_Param;
|
import com.battalarm.BattAlarm_Thread_New;
|
import com.battalarm.BattAlarm_Thread_New2;
|
import com.battalarm.BattAlarm_Thread_SQL;
|
import com.battalarm.BattDevHistory_SubtableThread;
|
import com.battalarm.DeviceAlarm_Thread_New;
|
import com.battalarm.DeviceAlarm_Thread_New2;
|
import com.battdata_rt.BattData_RT_Array;
|
import com.config.AppConfig;
|
import com.config.AppParam;
|
import com.sql.MysqlConnPool;
|
import com.sql.Sql_Mysql;
|
|
public class main_FBS9100S_Alarm {
|
/**************************************************************************/
|
/**************************************************************************/
|
/**************************************************************************/
|
/********************* Ï·½É豸ֻÄÜÑ¡ÔñÒ»¸ö *******************************/
|
public final static boolean is_app_for_cmcc_only = false;
|
public final static boolean is_app_for_fbo_data_only = false;
|
public final static boolean is_app_for_fbs_free_only = true;
|
public final static boolean is_app_for_bpm7100_only = false;
|
|
/**************************************************************************/
|
/**************************************************************************/
|
/**************************************************************************/
|
/**************************************************************************/
|
public final static boolean app_debug = false;
|
public final static float m_VersionNum = (float) 2.222;
|
public final static String m_Version = "Welcome To Use FBS9100S Alarm Mornitor V" + m_VersionNum + " RC_20170505";
|
/**************************************************************************/
|
/**************************************************************************/
|
public static final int DEF_MysqlServer_Port = 5306;
|
public static final int DEF_MysqlServerFBS_Port = 3360;//5307;
|
public static final int DEF_MysqlServerFBO_Port = 5308;
|
public static final int DEF_MysqlServerBPM7100_Port = 5309;
|
|
public static final int DEF_Socket_Server_Port = 1982;
|
public static final int DEF_Socket_ServerFBS_Port = 1992;
|
public static final int DEF_Socket_ServerFBO_Port = 2002;
|
public static final int DEF_Socket_ServerBPM7100_Port = 2001;
|
|
public static final int DEF_Socket_Server_FBI_Port = 1983;
|
public static final int DEF_Socket_Server_FBIFBS_Port = 1993;
|
public static final int DEF_Socket_Server_FBIFBO_Port = 2003;
|
|
public static final int DEF_Socket_Server_IDCE8200_Port = 8200;
|
public static final int DEF_Socket_Server_IDCE8200FBS_Port = 8210;
|
public static final int DEF_Socket_Server_IDCE8200FBO_Port = 8220;
|
|
public static final int DEF_Socket_Server_MOBILE_Port = 2016;
|
public static final int DEF_Socket_Server_MOBILEFBS_Port = 2026;
|
public static final int DEF_Socket_Server_MOBILEFBO_Port = 2036;
|
public static final int DEF_Socket_Server_MOBILEBPM7100_Port = 2037;
|
|
public static final int DEF_FTP_Server_Port = 2110;
|
public static final int DEF_FTP_ServerFBS_Port = 2116;
|
public static final int DEF_FTP_ServerFBO_Port = 2122;
|
public static final int DEF_FTP_ServerBPM7100_Port = 2123;
|
|
public static int MysqlServer_Port = DEF_MysqlServer_Port;
|
public static int Socket_Server_Port = DEF_Socket_Server_Port;
|
public static int Socket_Server_FBI_Port = DEF_Socket_Server_FBI_Port;
|
public static int Socket_Server_IDCE8200_Port = DEF_Socket_Server_IDCE8200_Port;
|
public static int Socket_Server_Mobile_Port = DEF_Socket_Server_MOBILE_Port;
|
public static int FTP_Server_Port = DEF_FTP_Server_Port;
|
|
private static AppConfig m_AppConfig;
|
|
private static MysqlConnPool GB_MysqlConnPool;
|
private static BattData_RT_Array GB_DataArray;
|
public static AppParam GB_App_Param;
|
private static Logger logger;
|
|
private static Map<Integer, AppAlm_Param> appParam;
|
|
static {
|
System.setProperty("log4j.configurationFile", "log4j2_fbs9100s_alarm_x64.xml");
|
// System.setProperty("contextSelector", "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
|
}
|
/*********************************************************************************************/
|
/*********************************************************************************************/
|
public static void main(String[] args) {
|
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
|
|
appParam = new HashMap<Integer, AppAlm_Param>();
|
|
logger = LogManager.getLogger(main_FBS9100S_Alarm.class);
|
|
/*//BasicConfigurator.configure();*/
|
String ver = m_Version;
|
if(is_app_for_fbs_free_only)
|
{
|
ver += " app_for_fbs_free_only";
|
if(is_app_for_bpm7100_only) {
|
ver += " and app_for_bms7100_only";
|
}
|
MysqlServer_Port = DEF_MysqlServerFBS_Port;
|
Socket_Server_Port = DEF_Socket_ServerFBS_Port;
|
Socket_Server_FBI_Port = DEF_Socket_Server_FBIFBS_Port;
|
Socket_Server_IDCE8200_Port = DEF_Socket_Server_IDCE8200FBS_Port;
|
Socket_Server_Mobile_Port = DEF_Socket_Server_MOBILEFBS_Port;
|
FTP_Server_Port = DEF_FTP_ServerFBS_Port;
|
}
|
if(is_app_for_bpm7100_only)
|
{
|
ver += " and app_for_bms7100_only";
|
MysqlServer_Port = DEF_MysqlServerBPM7100_Port;
|
Socket_Server_Port = DEF_Socket_ServerBPM7100_Port;
|
Socket_Server_Mobile_Port = DEF_Socket_Server_MOBILEBPM7100_Port;
|
FTP_Server_Port = DEF_FTP_ServerBPM7100_Port;
|
}
|
if(is_app_for_fbo_data_only)
|
{
|
ver += " app_for_fbo_data_only";
|
MysqlServer_Port = DEF_MysqlServerFBO_Port;
|
Socket_Server_Port = DEF_Socket_ServerFBO_Port;
|
Socket_Server_FBI_Port = DEF_Socket_Server_FBIFBO_Port;
|
Socket_Server_IDCE8200_Port = DEF_Socket_Server_IDCE8200FBO_Port;
|
Socket_Server_Mobile_Port = DEF_Socket_Server_MOBILEFBO_Port;
|
FTP_Server_Port = DEF_FTP_ServerFBO_Port;
|
}
|
//System.out.println(ver+"%%%%%%%%%%%%%");
|
logger.info("/****************************************************************");
|
logger.info("*****************************************************************");
|
logger.info("****************************************************************/");
|
logger.info(ver);
|
//´´½¨config.xmlÎļþ
|
m_AppConfig = new AppConfig();
|
/*
|
int delay_time_count = m_AppConfig.getBattAlarmFnStartDelay();
|
System.out.println("Server Delayed For " + delay_time_count + " Seconds To Start... " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
for(int dt=0; dt<delay_time_count; dt++)
|
{
|
try {
|
Thread.sleep(1);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
}
|
*/
|
//¼ì²âÊý¾Ý¿âÁ¬½Ó
|
checkingMySQLServerStart();
|
//MysqlServer_Port = 5306;
|
logger.info("IP£º"+m_AppConfig.getMysqlServerIp()+"port"+MysqlServer_Port);
|
|
|
//³õʼ»¯Á¬½Ó³ØÖеĸ÷ÖÖ²ÎÊýÐÅÏ¢
|
GB_MysqlConnPool = new MysqlConnPool(m_AppConfig.getMysqlServerIp(), MysqlServer_Port, 5);
|
//ÔÚÁ¬½Ó³ØÖлñÈ¡Á¬½Ó
|
Sql_Mysql sql_ck = new Sql_Mysql(GB_MysqlConnPool.getConn());
|
try {
|
//´´½¨´ó¶àÊý¾Ý¿âÒÔ¼°Êý¾Ý¿âÖеıí¸ñ£¬²¢¸øÄ³Ð©±í¸ñÉèÖµ
|
sql_ck.checkAndCreateDB();
|
} catch (SQLException e1) {
|
e1.printStackTrace();
|
} finally {
|
sql_ck.close_con();
|
}
|
|
/**
|
* ·Ç³£¹æ²Ù×÷£¬½ö½öɽÎ÷̫Ը澯ÉúЧ£¬ÆäËûµØ·½Çë×¢ÊÍ
|
* 2023-07-25 ¸æ¾¯µÈ¼¶¿ÉÉèÖ㬲¢ÇÒ½ñÌìÆðÆúÓõ±Ç°Âß¼
|
*
|
*/
|
//BattAlarm_Thread_SQL.resetBattParam(GB_MysqlConnPool);
|
|
//´´½¨tb_app_param±í,²¢ÇÒÉèÖñíÖеÄÊý¾Ý
|
GB_App_Param = new AppParam(GB_MysqlConnPool);
|
|
GB_DataArray = new BattData_RT_Array(m_AppConfig, GB_App_Param, GB_MysqlConnPool);
|
//¸üÐÂtb_batt_rtdata,tb_server_state,tb_batt_rtstate±íÖеÄÊý¾Ý
|
GB_DataArray.initBattDataRT_Inf();
|
|
logger.info("------------------- AppConfig start -----------------------------------" );
|
logger.info("MysqlServerIp=" + m_AppConfig.getMysqlServerIp() );
|
logger.info("SybaseServerIp=" + m_AppConfig.getSourceSQLServerIp() );
|
logger.info("MysqlConnCountMax=" + m_AppConfig.getMysqlConnCountMax() );
|
logger.info("WorkThreadCountMax=" + m_AppConfig.getWorkThreadCountMax() );
|
logger.info("SourceBattDataType=" + m_AppConfig.getSourceBattDataType() );
|
logger.info("FbsDeviceBaseIp=" + m_AppConfig.getFbsDeviceBaseIp() );
|
logger.info("BattAlarmFnEn=" + m_AppConfig.getBattAlarmFnEn() );
|
logger.info("BattAlarmFnStartDelay=" + m_AppConfig.getBattAlarmFnStartDelay() );
|
logger.info("BattAlarmClearedDelay=" + m_AppConfig.getBattAlarmClearedDelay() );
|
logger.info("BattResStoreFnEn=" + m_AppConfig.getBattResStoreFnEn() );
|
logger.info("BattResStoreDelayForTestManual=" + m_AppConfig.getBattResStoreDelayForTestManual() );
|
logger.info("BattResStoreDayInterval=" + m_AppConfig.getBattResStoreDayInterval() );
|
logger.info("------------------- AppConfig end -----------------------------------");
|
|
logger.info("--------------------- App_Param start---------------------------------");
|
logger.info("Discharge_TestTimeLongMinimum=" + GB_App_Param.getTestTimeLongMinimum(AppParam.AppParam_Discharge) );
|
logger.info("Discharge_SaveDataTimeInterval=" + GB_App_Param.getSaveDataTimeInterval(AppParam.AppParam_Discharge) );
|
logger.info("Discharge_MonVolChangeLevel=" + GB_App_Param.getMonVolChangeLevel(AppParam.AppParam_Discharge) );
|
logger.info("Discharge_BattTestGroupCountMax=" + GB_App_Param.getBattTestGroupCountMax(AppParam.AppParam_Discharge) );
|
logger.info("Discharge_TestDataRecordCountMax=" + GB_App_Param.getTestDataRecordCountMax(AppParam.AppParam_Discharge) );
|
logger.info("--------------------------------------------------------------------");
|
logger.info("Charge_TestTimeLongMinimum=" + GB_App_Param.getTestTimeLongMinimum(AppParam.AppParam_Charge) );
|
logger.info("Charge_SaveDataTimeInterval=" + GB_App_Param.getSaveDataTimeInterval(AppParam.AppParam_Charge) );
|
logger.info("Charge_MonVolChangeLevel=" + GB_App_Param.getMonVolChangeLevel(AppParam.AppParam_Charge) );
|
logger.info("Charge_BattTestGroupCountMax=" + GB_App_Param.getBattTestGroupCountMax(AppParam.AppParam_Charge) );
|
logger.info("Charge_TestDataRecordCountMax=" + GB_App_Param.getTestDataRecordCountMax(AppParam.AppParam_Charge) );
|
logger.info("--------------------------------------------------------------------");
|
logger.info("Poweroff_TestTimeLongMinimum=" + GB_App_Param.getTestTimeLongMinimum(AppParam.AppParam_PowerOff) );
|
logger.info("Poweroff_SaveDataTimeInterval=" + GB_App_Param.getSaveDataTimeInterval(AppParam.AppParam_PowerOff) );
|
logger.info("Poweroff_MonVolChangeLevel=" + GB_App_Param.getMonVolChangeLevel(AppParam.AppParam_PowerOff) );
|
logger.info("Poweroff_BattTestGroupCountMax=" + GB_App_Param.getBattTestGroupCountMax(AppParam.AppParam_PowerOff) );
|
logger.info("Poweroff_TestDataRecordCountMax=" + GB_App_Param.getTestDataRecordCountMax(AppParam.AppParam_PowerOff) );
|
logger.info("--------------------------------------------------------------------");
|
logger.info("Discharge_BattJunHengFN=" + GB_App_Param.getBattJunHengFN() );
|
logger.info("--------------------- App_Param end---------------------------------");
|
/*********************************************************************************/
|
/*********************************************************************************/
|
/*********************************************************************************/
|
//---------------------------------------------------------------------------------------------//
|
|
//´´½¨tb_devalarm_data±í
|
DeviceAlarm_Thread_New2 dev_alarm = new DeviceAlarm_Thread_New2(m_AppConfig, GB_MysqlConnPool,appParam);
|
dev_alarm.start();
|
|
//---------------------------------------------------------------------------------------------//
|
//¸ù¾Ýtb_alarm_param±íÖеIJÎÊýֵУ¶Ôʵʱ¼à²âÖеÄ×é¶Ëµçѹ µÈÖµ ÖеÄÊý¾Ý²¢½«Êý¾ÝÌí¼Óµ½tb_battalarm_data±íÖÐ
|
BattAlarm_Thread_New2 BattAlarm = new BattAlarm_Thread_New2(m_AppConfig, GB_MysqlConnPool, GB_DataArray,appParam);
|
BattAlarm.start();
|
|
//¸ù¾Ýµç³Ø×鏿¾¯¸üÐÂµç³Ø¸æ¾¯-----µç³Ø¸æ¾¯ºÍÉ豸¸æ¾¯·Ö±íÂß¼
|
{
|
|
BattDevHistory_SubtableThread hisAlam = new BattDevHistory_SubtableThread(GB_MysqlConnPool);
|
new Thread(hisAlam).start();
|
}
|
|
//---------------------------------------------------------------------------------------------//
|
while(true)
|
{
|
try {
|
//¶ÁÈ¡µ±Ç°µÄ¸æ¾¯ÅäÖÃÏî(10s/´Î)
|
BattAlarm_Thread_SQL.queryAppAlmParam(GB_MysqlConnPool, appParam);
|
|
|
|
Thread.sleep(10000);
|
} catch (InterruptedException e) {
|
logger.error(e.toString(), e);
|
}
|
}
|
}
|
|
public static void checkingMySQLServerStart(){
|
int MysqlServer_Port = 3360;
|
logger.info("IP:"+m_AppConfig.getMysqlServerIp()+"\t port:"+MysqlServer_Port);
|
//³õʼ»¯Á¬½Ó³ØÖеĸ÷ÖÖ²ÎÊýÐÅÏ¢ m_AppConfig.getMysqlServerIp()
|
GB_MysqlConnPool = new MysqlConnPool(m_AppConfig.getMysqlServerIp(), MysqlServer_Port, 5);
|
while(true){
|
Connection conn = null;
|
try {
|
logger.info(" ¿ªÊ¼¼ì²âÊý¾Ý¿âÁ¬½Ó "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
conn = GB_MysqlConnPool.getConn();
|
if(conn != null){
|
logger.info("¼ì²âÊý¾Ý¿âÁ¬½Ó³É¹¦");
|
break;
|
}else {
|
//ÐÝÏ¢1ÃëÖØÐ¼ì²â
|
Thread.sleep(1000);
|
}
|
} catch (Exception e) {
|
try {
|
Thread.sleep(1000);
|
} catch (InterruptedException e1) {
|
logger.error(e.toString(), e1);
|
}
|
logger.info(" MySQL_FBSDEV not Start ... ");
|
} finally {
|
if(conn != null) {
|
try {
|
conn.close();
|
} catch (SQLException e) {
|
logger.error(e.toString(), e);
|
}
|
}
|
}
|
}
|
}
|
}
|