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

📄 monitoringservlet.java

📁 监控整个SP系统的SMS信息通道的发送情况并且生成日志。 支持权限判断。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.infobank.monitoringSystem.servlet;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.rmi.Naming;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.List;
import java.util.Properties;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.infobank.monitoringSystem.agent.monitoringAgent;
import com.infobank.monitoringSystem.bean.moniroting;
import com.infobank.monitoringSystem.util.Common;
import com.infobank.monitoringSystem.util.DBWrapper;
import com.infobank.monitoringSystem.util.constants;
import com.infobank.superchannel.admin.controller.DatabaseCacheController;
import com.infobank.superchannel.admin.controller.MessageLauncherController;
import com.infobank.superchannel.admin.controller.SuperChannelController;
import com.infobank.superchannel.pojo.BlackList;
import com.infobank.superchannel.pojo.ControllerUserToken;
import com.infobank.superchannel.pojo.TextMessage;
import com.infobank.superchannel.pojo.TextMessageLog;



public class monitoringServlet extends HttpServlet {

	Log log = LogFactory.getLog(monitoringServlet.class);
	DBWrapper wrapper = null;
	
	private MessageLauncherController mlc[] = null;
	private DatabaseCacheController dcc[] = null;
	private SuperChannelController scc[]=null;
	
	private ControllerUserToken tokenC[] = null;
	private ControllerUserToken tokenD[] = null;
	
	String[] MessageLauncherController = null;
	String[] DatabaseCacheController = null;
	String[] SuperChannelController=null;
	
	String[] ip = null;
	String[] port=null;
	String serverName = "";
	
	ArrayList rmiDataBaseList = new ArrayList();
	ArrayList rmiMessageList = new ArrayList();
	

	/**
	 * Constructor of the object.
	 */
	public monitoringServlet() {
		super();
	}
	
	public void init(ServletConfig conf) throws ServletException {
		initConfigration();
	}

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		log.info("doGet method start");
		monitoringAgent agent = new monitoringAgent();
		response.setHeader("Cache-Control", "no-cache");
		response.setContentType("text/html");
		response.setCharacterEncoding("gb2312");
		PrintWriter out = response.getWriter();
		
		String act = request.getParameter("act");
		String messageLogPage = request.getParameter("messageLogPage");
	
		Hashtable table = Common.parseParameters(request);
		
		
		if(act.equals("toLogPage") && messageLogPage != null)
		{
			inita(request,table);
			for(int i = 0; i < rmiDataBaseList.size(); i++)
			{
				if(rmiDataBaseList.get(i).equals("")) continue;
				table.put("oldList"+i,request.getSession().getAttribute("oldList"+i)!= null ? request.getSession().getAttribute("oldList"+i) : new ArrayList() );
				table.put("errList"+i,request.getSession().getAttribute("errList"+i)!= null ? request.getSession().getAttribute("errList"+i) : new ArrayList() );
				table.put("blackList"+i,request.getSession().getAttribute("blackList"+i)!= null ? request.getSession().getAttribute("blackList"+i) : "" );
				
			}
			
			agent.execute(table);
			for(int i = 0; i < rmiDataBaseList.size(); i++)
			{
				if(rmiDataBaseList.get(i).equals("")) continue;
				request.getSession().setAttribute("oldList"+i,table.get("oldList"+i));
				request.getSession().setAttribute("errList"+i,table.get("errList"+i));
				request.getSession().setAttribute("blackList"+i,table.get("blackList"+i));
			}
	
			moniroting bean = table.get("moniroting") != null ? (moniroting)table.get("moniroting") : null;
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd   HH:mm:ss");
			
			
			
			if(bean != null)
		   	{
				if(messageLogPage.equals("messgeLog"))
				{
			      	out.write("<tr>");
			      	out.write("<td>");
			      	out.write("日志");
			      	out.write("</td>");
			      	out.write("</tr>");
					out.print("<table>");
			   		List messageList = bean.getTextMessageLog();
			   		for(int i = messageList.size()-1; i >= 0; i--)
			   		{
			   			TextMessageLog log = (TextMessageLog)messageList.get(i);
						if(log.message.getRetry()>0)
			   			{
			   			
							out.write("<tr>");
							out.write("<td><font color='#ff00ff' ");
							out.write("[重试]:"+log.message.getRetry()+"&nbsp;[时间]:"+log.message.getTran_date()+"&nbsp;[发送结果]:"+log.message.getStatus()+"&nbsp;[返回值]:"+log.message.getResultCode()+"&nbsp;[客户ID]:"+
							    				log.message.getTran_msgkey()+"&nbsp;[手机]:"+log.message.getTran_phone()+"&nbsp;[内容]:"+
							    				log.message.getTran_msg().substring(0,log.message.getTran_msg().length() > 10 ? 10 : log.message.getTran_msg().length()));
					
							out.write("</font></td>");
							out.write("</tr>");
			    	
			   			}
			   			else if(log.message.isResult(TextMessage.RESULT.FAILED))
			   			{
			   
			   				out.write("<tr>");
			   				out.write("<td><font color='#ba55d3' >");
			   				out.write("[时间]:"+log.message.getTran_date()+"&nbsp;[发送结果]:"+log.message.getStatus()+"&nbsp;[返回值]:"+log.message.getResultCode()+"&nbsp;[客户ID]:"+
							    				log.message.getTran_msgkey()+"&nbsp;[手机]:"+log.message.getTran_phone()+"&nbsp;[内容]:"+
							    				log.message.getTran_msg().substring(0,log.message.getTran_msg().length() > 10 ? 10 : log.message.getTran_msg().length()));
					
					        out.write("</font></td>");
			   				out.write("</tr>");
			    			
						}
						else if(log.message.isResult(TextMessage.RESULT.SUCCESSFUL))
			   			{
							out.write("<tr>");
							out.write("<td><font color='#808080' >");
							out.write("[时间]:"+log.message.getTran_date()+"&nbsp;[发送结果]:"+log.message.getStatus()+"&nbsp;[返回值]:"+log.message.getResultCode()+"&nbsp;[客户ID]:"+
			    				log.message.getTran_msgkey()+"&nbsp;[手机]:"+log.message.getTran_phone()+"&nbsp;[内容]:"+
			    				log.message.getTran_msg().substring(0,log.message.getTran_msg().length() > 10 ? 10 : log.message.getTran_msg().length()));
					
							out.write("</font></td>");
							out.write("</tr>");
			
			   			}
			    	}
			   		out.write("</table>");
				}
				if(messageLogPage.equals("errMessgeLog"))
				{
					out.write("<table>");
					out.write("<tr>");
					out.write("<td valign='top' width='900'>");
					out.write("<table>");
					out.write("<tr>");
					out.write("<td >");
					out.write("错误日志");
					out.write("</td>");
					out.write("</tr>");
				    if(bean != null)
				   	{
				   		List messageList = bean.getTextMessageLog();
				   		for(int i = messageList.size()-1; i >= 0; i--)
				   		{
				   			TextMessageLog log = (TextMessageLog)messageList.get(i);
				   			if(log.message.isResult(TextMessage.RESULT.FAILED))
				   			{
								out.write(" <tr>");
								out.write("<td><font color='#ba55d3' >");
								out.write("[时间]:"+log.message.getTran_date()+"&nbsp;[发送结果]:"+log.message.getStatus()+"&nbsp;[结果]:"+log.message.getResultCode()+"&nbsp;[客户ID]:"+
								log.message.getTran_msgkey()+"&nbsp;[手机]:"+log.message.getTran_phone()+"&nbsp;[内容]:"+
								log.message.getTran_msg().substring(0,log.message.getTran_msg().length() > 10 ? 10 : log.message.getTran_msg().length()));
								out.write("</font></td>");
								out.write("</tr>");
				   			}
				
				    	}
				    } 		  
					out.write("</table>");
					out.write("</td>");
					out.write("<td  valign='top' width='230'>");
					out.write("<table>");
					out.write("<tr>");
					out.write("<td>");
					out.write("上行");
					out.write("</td>");
					out.write("</tr>");
  	
					if(bean != null)
					{
						if(bean.getIncoming() != null)
						{
							List logList = bean.getIncoming();
							for(int i = 0; i < logList.size(); i++)
							{
								TextMessageLog log = (TextMessageLog)logList.get(i);

								out.write("<tr>");
								out.write("<td><font color='#ba55d3' >");
								out.write(log.message.getTran_phone()); 
								out.write("</font></td>");
								out.write("</tr>");
							}
						}
					}
							  	
						  
					out.write("</table>");
					out.write("</td>");
					  
					out.write("<td  valign='top' width='230'>");
					out.write("<table>");
					out.write("<tr>");
					out.write("<td>");
					out.write("黑名单");
					out.write("</td>");
					out.write("</tr>");
							  
			  		if(bean != null)
			  		{
			  			if(bean.getBlackList() != null)
			  			{

⌨️ 快捷键说明

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