⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monitoringagent.java

📁 监控整个SP系统的SMS信息通道的发送情况并且生成日志。 支持权限判断。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		table.put("monitoring", list);
		log.info("getMonitoringList method end");
	}
	
	private List<TextMessageLog> processErrList(List<TextMessageLog> oldErrlist,List<TextMessageLog> newMessage)
	{
		log.info("processErrList method start");
		List<TextMessageLog> errList = oldErrlist != null ? oldErrlist : new ArrayList<TextMessageLog>();
		List<TextMessageLog> errSubList = new ArrayList<TextMessageLog>();
		for(TextMessageLog log:newMessage)
		{
			if(log.message.isResult(TextMessage.RESULT.FAILED))
			{
				errSubList.add(log);
			}
		}
		
		//错误日志超过100行的时候,用新LIST
		if(errList.size()+errSubList.size() > 50)
		{
			errList = errSubList;
		}
		else
		{
			errList.addAll(errSubList);
		}
		log.info("processErrList method end");
		return errList;
	}
	
	private boolean processChangeStatus(Hashtable table)
	{
		log.info("processChangeStatus method start");
		moniroting bean = null;
		try{
			
			String threadId = (String)table.get("threadId");
			List rmiDataBaseList = (List)table.get("rmiDataBaseList");
			for(int j = 0; j < rmiDataBaseList.size(); j++)
			{
				if(rmiDataBaseList.get(j).equals("")) continue;
				
				ControllerUserToken tokenC= (ControllerUserToken)table.get("tokenC"+j);
				if(tokenC == null)continue;
/*********************************/
//				List channelList = ((MessageLauncherController)table.get("mlc"+j)).getChannelMonitor(tokenC);
				
				MessageLauncherController mlc = (MessageLauncherController)table.get("mlc"+j);
				SuperChannelController scc = (SuperChannelController)table.get("mlc"+j);
				List AllchannelList=scc.getAllMessageLauncherController(tokenC);
				
				List channelList =null;
				for(int index=0;index<AllchannelList.size();index++){
					mlc=(MessageLauncherController) AllchannelList.get(index);
					channelList.add(mlc.getChannelMonitor(tokenC));
				}
				
				ChannelStatusMonitor csm = (ChannelStatusMonitor)channelList.get(0);
					
				if(csm.getChannelInfo(tokenC).name.equals(threadId))
				{		
					try {
						 tokenC= (ControllerUserToken)table.get("tokenC"+j);
						((MessageLauncherController)table.get("mlc"+j)).stop(tokenC);
					} catch (Exception e) {
						// TODO: handle exception
					}
					
					try {
						ControllerUserToken tokenD= (ControllerUserToken)table.get("tokenD"+j);
						((DatabaseCacheController)table.get("dcc"+j)).stop(tokenD);
					} catch (Exception e) {
						// TODO: handle exception
					}
					
					rmiDataBaseList.set(j, "");
					table.remove("tokenC"+j);
					table.remove("tokenD"+j);
					table.remove("oldList");
					table.remove("mlc"+j);
					table.remove("dcc"+j);
					table.remove("blackList"+j);
					table.remove("errList"+j);
				}
			}
			
			
		}
		catch(Exception e){
			System.err.println("Client Exception: "+e.toString());
			e.printStackTrace();
		}
		log.info("processChangeStatus method end");
		return false;
		
	}
	
	private void processOpenConfigFile(Hashtable table)
	{	
		log.info("processOpenConfigFile method start");
		String path = propertyFile.getLogFilePath();
		String fileName = (String)table.get("fileName");
		
		try {
			Properties p = new Properties();
			FileInputStream fis = new FileInputStream(path+fileName);
			p.load(fis);
	
			table.put("tableCount",p.getProperty("daemon.databasecache.reader.numberOfTables"));	
			int tableCount = Integer.parseInt(p.getProperty("daemon.databasecache.reader.numberOfTables"));
			
			List<String> tableName = new ArrayList<String>();
			for(int i = 0; i < tableCount; i++)
			{
				tableName.add(p.getProperty("daemon.databasecache.reader.table"+(i+1)+".name"));
			}
			table.put("tableName", tableName);
			
		} catch (Exception e) {
			e.printStackTrace();
			// TODO: handle exception
		}
		log.info("processOpenConfigFile method end");
	}
	
	private void processConfigFileView(Hashtable table)
	{
		log.info("processConfigFileView method start");
		String path = propertyFile.getLogFilePath();
		String fileName = (String)table.get("fileName");
		String openType = (String)table.get("openType");
		Properties p = null;
		try {
			p = new Properties();
			FileInputStream fis = new FileInputStream(path+fileName);
			p.load(fis);
		} catch (Exception e) {
			// TODO: handle exception
		}
		
		
		if(openType.equals("base"))
		{
			//黑名单是否使用
			table.put("blacklist.enabled", p.getProperty("daemon.databasecache.loader.blacklist.enabled"));
			//黑名单数据源
			table.put("blacklist.datasource", p.getProperty("daemon.databasecache.loader.blacklist.datasource"));
			//黑名单表名
			table.put("blacklist.table", p.getProperty("daemon.databasecache.loader.blacklist.table"));
			//黑名单休眠时间
			table.put("blacklist.interval", p.getProperty("daemon.databasecache.loader.blacklist.interval"));
			//发送失败短信最大重试次数
			table.put("message.maxRetry", p.getProperty("daemon.databasecache.message.maxRetry"));
			//数据库缓冲服务器(队列长度)
			table.put("messagequeue.capacity", p.getProperty("daemon.databasecache.messagequeue.capacity"));
			//紧急短信提交地址
			table.put("emergentalert.url", p.getProperty("daemon.emergentalert.url"));
			
			table.put(constants.RETURN_PAGE, constants.CONFIG_FILE_DATA_BASE);
		}
		else if(openType.equals("table"))
		{
			int Index = Integer.parseInt(table.get("tableIndex")+"");
			//表名称
			table.put("table.name", p.getProperty("daemon.databasecache.reader.table"+Index+".name"));
			//数据源
			table.put("table.datasource", p.getProperty("daemon.databasecache.reader.table"+Index+".datasource"));
			//callback
			table.put("table.callback.pattern", p.getProperty("daemon.databasecache.reader.table"+Index+".callback.pattern"));
			//blacklist.datasource
			table.put("table.maxRecordNumber", p.getProperty("daemon.databasecache.reader.table"+Index+".maxRecordNumber"));
			//扫描表格时间间隔
			table.put("table.interval", p.getProperty("daemon.databasecache.reader.table"+Index+".interval"));
			//successful code
			table.put("table.result.successful", p.getProperty("daemon.databasecache.reader.table"+Index+".result.successful"));
			//failed code
			table.put("table.result.failed", p.getProperty("daemon.databasecache.reader.table"+Index+".result.failed"));
			//delivered code
			table.put("table.status.delivered", p.getProperty("daemon.databasecache.reader.table"+Index+".status.delivered"));
			//blocked code
			table.put("table.status.blocked", p.getProperty("daemon.databasecache.reader.table"+Index+".status.blocked"));
			
			table.put(constants.RETURN_PAGE, constants.CONFIG_FILE_DATA_TABLE);
		}
		log.info("processConfigFileView method end");
	}
	
	private void processSaveData(Hashtable table)
	{
		log.info("processSaveData method start");
		String path = propertyFile.getLogFilePath();
		String fileName = (String)table.get("fileName");
		String openType = (String)table.get("openType");
		Properties p = null;
		FileOutputStream fos = null;
		try {
			p = new Properties();
			FileInputStream fis = new FileInputStream(path+fileName);
			p.load(fis);
			fos = new FileOutputStream(path+fileName);
		} catch (Exception e) {
			e.printStackTrace();
			// TODO: handle exception
		}
		
		
		if(openType.equals("base"))
		{
			//黑名单是否使用
			p.setProperty("daemon.databasecache.loader.blacklist.enabled", (String)table.get("blacklist.enabled"));
			//黑名单数据源
			p.setProperty("daemon.databasecache.loader.blacklist.datasource", (String)table.get("blacklist.datasource"));
			//黑名单表名
			p.setProperty("daemon.databasecache.loader.blacklist.table", (String)table.get("blacklist.table"));
			//黑名单休眠时间
			p.setProperty("daemon.databasecache.loader.blacklist.interval", (String)table.get("blacklist.interval"));
			//发送失败短信最大重试次数
			p.setProperty("daemon.databasecache.message.maxRetry", (String)table.get("message.maxRetry"));
			//数据库缓冲服务器(队列长度)
			p.setProperty("daemon.databasecache.messagequeue.capacity", (String)table.get("messagequeue.capacity"));
			//紧急短信提交地址
			p.setProperty("daemon.emergentalert.url", (String)table.get("emergentalert.url"));
			try {
				p.store(fos, "");
			} catch (Exception e) {
				// TODO: handle exception
			}
			table.put(constants.RETURN_PAGE, constants.CONFIG_FILE_DATA_BASE);
		}
		else if(openType.equals("table"))
		{
			int Index = Integer.parseInt(table.get("tableIndex")+"");
			//表名称
			p.setProperty("daemon.databasecache.reader.table"+Index+".name", (String)table.get("table.name"));
			//数据源
			p.setProperty("daemon.databasecache.reader.table"+Index+".datasource", (String)table.get("table.datasource"));
			//callback
			p.setProperty("daemon.databasecache.reader.table"+Index+".callback.pattern", (String)table.get("table.callback.pattern"));
			//数据库缓冲服务器短信息读取任务扫描表格时一次最多取出短信条数
			p.setProperty("daemon.databasecache.reader.table"+Index+".maxRecordNumber", (String)table.get("table.maxRecordNumber"));
			//扫描表格时间间隔
			p.setProperty("daemon.databasecache.reader.table"+Index+".interval", (String)table.get("table.interval"));
			//successful code
			p.setProperty("daemon.databasecache.reader.table"+Index+".result.successful", (String)table.get("table.result.successful"));
			//failed code
			p.setProperty("daemon.databasecache.reader.table"+Index+".result.failed", (String)table.get("table.result.failed"));
			//delivered code
			p.setProperty("daemon.databasecache.reader.table"+Index+".status.delivered", (String)table.get("table.status.delivered"));
			//blocked code
			p.setProperty("daemon.databasecache.reader.table"+Index+".status.blocked", (String)table.get("table.result.failed"));
			try {
				p.store(fos, "");
			} catch (Exception e) {
				// TODO: handle exception
			}
			table.put(constants.RETURN_PAGE, constants.CONFIG_FILE_DATA_TABLE);
		}
		
		log.info("processSaveData method end");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -