package org.signserver.webbjob; import java.util.*; import java.io.*; import java.text.*; import java.net.*; import org.apache.log4j.Logger; import org.signserver.common.*; import org.signserver.common.util.*; import org.signserver.common.dbdao.*; import java.nio.channels.FileChannel; public class MonitoringTask extends TimerTask { private final static Logger log = Logger.getLogger(MonitoringTask.class); private static Boolean previousHAStatus = null; private static Boolean previousRLStatus = null; @Override public void run() { GeneralPolicy gp = DBConnector.getInstances().getGeneralPolicy(); boolean resend = gp.isFrontIsHAReSent(); // check HA Cluster String crmStatus = WorkerCommandLine.getInstance().executeCrmStatus(); Boolean currentHAStatus; if(crmStatus.contains("OFFLINE") || crmStatus.contains("Offline") || crmStatus.contains("offline")) { currentHAStatus = false; if(resend) { //GeneralPolicy gp = DBConnector.getInstances().getGeneralPolicy(); boolean isSms = gp.isFrontIsHASMS(); boolean isEmail = gp.isFrontIsHAEmail(); List receiverHAStatuses = DBConnector.getInstances().authReceiverHAStatusList(); if(isSms) { String content = getCrmStatusForSms(crmStatus); String[] endpointParams = DBConnector.getInstances().authEndPointParamsGet(Defines.CONNECTION_PARAMS_SMPP); String[] smsContentInfo = DBConnector.getInstances() .getBackOfficeParamsDetailClient(Defines.PARAMS_BACKOFFICE_MAIL_HA, true); content = "Message from "+ExtFunc.getHostName()+"\n"+content; if(endpointParams == null) { log.error("Cannot send HA alert through SMS because no smpp configuration found in system"); } else { for(int i=0; i receiverHAStatuses = DBConnector.getInstances().authReceiverHAStatusList(); if(isSms) { String content = getCrmStatusForSms(crmStatus); String[] endpointParams = DBConnector.getInstances().authEndPointParamsGet(Defines.CONNECTION_PARAMS_SMPP); String[] smsContentInfo = DBConnector.getInstances() .getBackOfficeParamsDetailClient(Defines.PARAMS_BACKOFFICE_MAIL_HA, true); content = "Message from "+ExtFunc.getHostName()+"\n"+content; if(endpointParams == null) { log.error("Cannot send HA alert through SMS because no smpp configuration found in system"); } else { for(int i=0; i receiverHAStatuses = DBConnector.getInstances().authReceiverHAStatusList(); if(isSms) { String content = getCrmStatusForSms(crmStatus); String[] endpointParams = DBConnector.getInstances().authEndPointParamsGet(Defines.CONNECTION_PARAMS_SMPP); String[] smsContentInfo = DBConnector.getInstances() .getBackOfficeParamsDetailClient(Defines.PARAMS_BACKOFFICE_MAIL_HA, true); content = "Message from "+ExtFunc.getHostName()+"\n"+content; if(endpointParams == null) { log.error("Cannot send HA alert through SMS because no smpp configuration found in system"); } else { for(int i=0; i receiverHAStatuses = DBConnector.getInstances().authReceiverHAStatusList(); if(isSms) { String content = getDbReplSms(dbRepl); String[] endpointParams = DBConnector.getInstances().authEndPointParamsGet(Defines.CONNECTION_PARAMS_SMPP); String[] smsContentInfo = DBConnector.getInstances() .getBackOfficeParamsDetailClient(Defines.PARAMS_BACKOFFICE_MAIL_DB, true); content = "Message from "+ExtFunc.getHostName()+"\n"+content; if(endpointParams == null) { log.error("Cannot send database replication alert through SMS because no smpp configuration found in system"); } else { for(int i=0; i receiverHAStatuses = DBConnector.getInstances().authReceiverHAStatusList(); if(isSms) { String content = getDbReplSms(dbRepl); String[] endpointParams = DBConnector.getInstances().authEndPointParamsGet(Defines.CONNECTION_PARAMS_SMPP); String[] smsContentInfo = DBConnector.getInstances() .getBackOfficeParamsDetailClient(Defines.PARAMS_BACKOFFICE_MAIL_DB, true); content = "Message from "+ExtFunc.getHostName()+"\n"+content; if(endpointParams == null) { log.error("Cannot send database replication alert through SMS because no smpp configuration found in system"); } else { for(int i=0; i receiverHAStatuses = DBConnector.getInstances().authReceiverHAStatusList(); if(isSms) { String content = getDbReplSms(dbRepl); String[] endpointParams = DBConnector.getInstances().authEndPointParamsGet(Defines.CONNECTION_PARAMS_SMPP); String[] smsContentInfo = DBConnector.getInstances() .getBackOfficeParamsDetailClient(Defines.PARAMS_BACKOFFICE_MAIL_DB, true); content = "Message from "+ExtFunc.getHostName()+"\n"+content; if(endpointParams == null) { log.error("Cannot send database replication alert through SMS because no smpp configuration found in system"); } else { for(int i=0; i