亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mmservlet.java

?? mobile to system control
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* *   This file is part of MobiMon. * *   MobiMon is free software; you can redistribute it and/or modify *   it under the terms of the GNU General Public License as published by *   the Free Software Foundation; either version 2 of the License, or *   (at your option) any later version. * *   MobiMon is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *   GNU General Public License for more details. *   You should have received a copy of the GNU General Public License *   along with MobiMon; if not, write to the Free Software *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA *//* * MMServlet.java * * Created on February 1, 2003, 5:53 PM */package mobimon.servlet;import java.net.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import javax.management.*;import javax.management.monitor.*;import com.sun.jdmk.comm.ConnectorAddress;import com.sun.jdmk.comm.HeartBeatNotification;import com.sun.jdmk.comm.RmiConnectorAddress;import com.sun.jdmk.comm.RmiConnectorClient;import com.sun.jdmk.ServiceName;import mobimon.common.*;/** * * @author  jan * @version */public class MMServlet extends HttpServlet implements NotificationListener {        private ResourceBundle servletResources;        private Hashtable hostConnections = new Hashtable();        private static String SERVLET_RESOURCE_FILE = "mobimon.servlet.MMServlet";        private int reconnectMaxRetries = 5;        private Object lock;        /** Initializes the servlet.     */    public void init(ServletConfig config) throws ServletException {        super.init(config);        lock = new Object();        readProperties();        if (servletResources != null) {            log("Properties read");            String hosts = servletResources.getString("mobimon.hosts");            StringTokenizer st = new StringTokenizer(hosts);            while (st.hasMoreTokens()) {                String host = st.nextToken();                RmiConnectorClient rcc = new RmiConnectorClient();                RmiConnectorAddress address = new RmiConnectorAddress                (host, ServiceName.RMI_CONNECTOR_PORT,                ServiceName.RMI_CONNECTOR_SERVER);                try {                    log("Trying connection to " + host);                    rcc.connect(address) ; // CONNECTION                    rcc.addHeartBeatNotificationListener(this, null, null);                    subscribeToMonitorNotifications(rcc);                    hostConnections.put(host, rcc);                    log("Connected to " + host);                } catch (Exception e) {                    log("Unable to connect to host " + host);                }            }        }    }        /** Destroys the servlet.     */    public void destroy() {        for (Enumeration e = hostConnections.elements(); e.hasMoreElements();) {            RmiConnectorClient rcc = (RmiConnectorClient)e.nextElement();            try {                rcc.disconnect();            } catch (Exception ex) {}        }    }        /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.     * @param request servlet request     * @param response servlet response     */    protected void processRequest(HttpServletRequest request,    HttpServletResponse response) throws ServletException, java.io.IOException {        response.setContentType("text/plain");        ServletOutputStream sos = response.getOutputStream();        byte[] barr = null;        int pageNo = 0;                String whatNext = request.getParameter("nodes");        if (whatNext != null) {            barr = listNodes();        } else {            whatNext = request.getParameter("host");            if (whatNext != null) {                String hostName = whatNext;                whatNext = request.getParameter("domain");                if (whatNext != null) {                    String domain = whatNext;                    barr = listMBeans(hostName, domain);                } else {                    whatNext = request.getParameter("mbean");                    if (whatNext != null) {                        String mBeanName = whatNext;                        whatNext = request.getParameter("action");                        if (whatNext != null) {                            String action = whatNext;                            whatNext = request.getParameter("desc");                            if (whatNext != null) {                                if (whatNext.equals("a")) {                                    barr =                                    getDescription(hostName, mBeanName, action);                                } else if (whatNext.equals("p")) {                                    barr =                                    getParameters(hostName, mBeanName, action);                                }                            } else {                                Object o = performAction                                (hostName, mBeanName, action, request);                                if (o instanceof Page) {                                    Page p = (Page)o;                                    barr = p.getPageContents();                                    pageNo = p.getPageNo();                                } else {                                    barr = (byte[])o;                                }                            }                        } else {                            barr = listActions(hostName, mBeanName);                        }                    } else {                        barr = listDomains(hostName);                    }                }            } else {                barr = "Unrecognized request".getBytes();            }        }        if (barr != null) {            response.setContentLength(barr.length);            response.setIntHeader("Page", pageNo);            sos.write(barr);        }                sos.close();    }        /** Handles the HTTP <code>GET</code> method.     * @param request servlet request     * @param response servlet response     */    protected void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, java.io.IOException {        processRequest(request, response);    }        /** Handles the HTTP <code>POST</code> method.     * @param request servlet request     * @param response servlet response     */    protected void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, java.io.IOException {        processRequest(request, response);    }        /** Returns a short description of the servlet.     */    public String getServletInfo() {        return "MobiMon Servlet";    }        private byte[] listNodes() {        StringBuffer sb = new StringBuffer();        for (Enumeration e = hostConnections.keys(); e.hasMoreElements();) {            sb.append((String)e.nextElement()).append("\n");        }        return sb.toString().getBytes();    }        private byte[] listMBeans(String host, String domain) {        StringBuffer sb = new StringBuffer();        RmiConnectorClient connectorClient = null;        try {            connectorClient = connect(host);            Set s = connectorClient.queryNames(new ObjectName(domain + ":*"),            null);            Iterator it = s.iterator();            while (it.hasNext()) {                ObjectName mBeanName = (ObjectName)it.next();                String name = mBeanName.getKeyPropertyListString();                sb.append(name).append("\n");            }        } catch (Exception e) {            log(e.getClass().getName(), e);            sb.append("Exception occured: ").append(e.getMessage());        }        return sb.toString().getBytes();    }        private byte[] listActions(String host, String mbean) {        StringBuffer sb = new StringBuffer();        RmiConnectorClient connectorClient = null;        try {            connectorClient = connect(host);            ObjectName mBeanName = new ObjectName(mbean);            MBeanInfo mbi = connectorClient.getMBeanInfo(mBeanName);            MBeanAttributeInfo[] mai = mbi.getAttributes();            for (int i = 0; i < mai.length; i++) {                if (mai[i].isReadable()) {                    if (mai[i].getType().equals("boolean")) {                        sb.append(mai[i].isIs() ? "is" : "get");                    } else {                        sb.append("get");                    }                }                sb.append(mai[i].getName()).append("\n");                if (mai[i].isWritable()) {                    sb.append("set").append(mai[i].getName()).append("\n");                }            }            MBeanOperationInfo[] moi = mbi.getOperations();            for (int i = 0; i < moi.length; i++) {                sb.append(moi[i].getName()).append("\n");            }        } catch (Exception e) {            log(e.getClass().getName(), e);            sb.append("Exception occured: ").append(e.getMessage());        }        return sb.toString().getBytes();    }        private Object performAction(String host, String mbean, String action,    HttpServletRequest request) {        Object o = null;        byte[] barr = null;        RmiConnectorClient connectorClient = null;        try {            connectorClient = connect(host);            ObjectName mBeanName = new ObjectName(mbean);            log("Performing action " + action);            boolean getterAction = false;            boolean setterAction = false;            String attrName = null;            if (action.startsWith("get") || action.startsWith("set")            || action.startsWith("is")) {                attrName = action.startsWith("is")                ? action.substring(2) : action.substring(3);                MBeanInfo mbi = connectorClient.getMBeanInfo(mBeanName);                MBeanAttributeInfo[] mai = mbi.getAttributes();                for (int i = 0; i < mai.length; i++) {                    if (mai[i].getName().equals(attrName)) {                        getterAction = (action.startsWith("get")                        || action.startsWith("is"));                        setterAction = action.startsWith("set");                        break;                    }                }            }            if (getterAction) {                if (request.getHeader("Page") != null) {                    int pageNo = request.getIntHeader("Page");                    if (pageNo != 0) {                        o = invokePageOperation                        (connectorClient, mBeanName, action, pageNo);                    } else {                        o = getMBeanAttribute                        (connectorClient, mBeanName, attrName);                    }                } else {                    o = getMBeanAttribute(connectorClient, mBeanName, attrName);                }            } else if (setterAction) {                String value = request.getParameter(attrName);                if ((value == null) || (value.length() < 1)) {                    barr = ("No attribute value specified for action "                    + action).getBytes();                } else {                    barr = setMBeanAttribute                    (connectorClient, mBeanName, attrName, value);                }            } else {                o = invokeMBeanOperation                (connectorClient, mBeanName, action, request);            }        } catch (Exception e) {            log(e.getClass().getName(), e);            barr = ("Exception occured: " + e.getMessage()).getBytes();        }        if (barr != null) o = barr;        return o;    }        private Object getMBeanAttribute(RmiConnectorClient connectorClient,    ObjectName mBeanName, String attrName) {        try {            Object o = connectorClient.getAttribute(mBeanName, attrName);            if (o instanceof Page) return o;            return convertReturnValue(o, "");        } catch (Exception e) {            log(e.getClass().getName(), e);            return("Exception occured: " + e.getMessage()).getBytes();        }    }        private byte[] setMBeanAttribute(RmiConnectorClient connectorClient,    ObjectName mBeanName, String attrName, String value) {        try {            MBeanInfo mbi = connectorClient.getMBeanInfo(mBeanName);            MBeanAttributeInfo[] mai = mbi.getAttributes();            for (int i = 0; i < mai.length; i++) {                if (mai[i].getName().equals(attrName)) {                    String type = mai[i].getType();                    try {                        Attribute a =                        new Attribute(attrName, convertValue(value, type));                        connectorClient.setAttribute(mBeanName, a);                        return ("Attribute " + attrName + " set").getBytes();                    } catch (MMParameterException mpe) {                        return                        ((attrName + ": " + mpe.getMessage()).getBytes());                    }                }            }            return("Attribute " + attrName + " not found").getBytes();        } catch (Exception e) {            log(e.getClass().getName(), e);            return("Exception occured: " + e.getMessage()).getBytes();        }    }        private Object invokeMBeanOperation(RmiConnectorClient connectorClient,    ObjectName mBeanName, String action, HttpServletRequest request) {        try {            MBeanInfo mbi = connectorClient.getMBeanInfo(mBeanName);            MBeanOperationInfo moi[] = mbi.getOperations();            for (int i = 0; i < moi.length; i++) {                if (moi[i].getName().equals(action)) {                    String retType = moi[i].getReturnType();                    Object retVal;                    MBeanParameterInfo mpi[] = moi[i].getSignature();                    if (mpi.length > 0) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产日韩在线观看| www.日本不卡| 亚洲精品一区二区三区福利| 狠狠网亚洲精品| 久久久影院官网| av亚洲精华国产精华精| 自拍偷自拍亚洲精品播放| 色婷婷综合久久| 日本不卡的三区四区五区| 精品久久一区二区| kk眼镜猥琐国模调教系列一区二区| 国产精品天天看| 在线精品视频一区二区三四| 久久精品一区二区三区不卡牛牛| 国产伦精品一区二区三区在线观看| 国产片一区二区三区| 不卡av电影在线播放| 亚洲综合丁香婷婷六月香| 欧美丰满一区二区免费视频| 国产剧情一区二区三区| 一区二区三区欧美| 欧美成人精精品一区二区频| 粉嫩av一区二区三区| 亚洲高清视频中文字幕| 久久青草国产手机看片福利盒子 | 欧美激情中文字幕一区二区| 91色婷婷久久久久合中文| 五月天精品一区二区三区| 国产亚洲制服色| 欧美日韩中字一区| 国产精品99久| 亚洲成av人片在线| 国产精品麻豆欧美日韩ww| 7777精品伊人久久久大香线蕉完整版 | 一区二区三区在线视频观看| 欧美成人一区二区三区片免费| 97精品电影院| 精品夜夜嗨av一区二区三区| 亚洲欧美另类小说视频| 精品久久久久一区二区国产| 色婷婷综合久色| 欧美午夜一区二区三区免费大片| 国产一区二区主播在线| 亚洲国产美女搞黄色| 国产视频在线观看一区二区三区 | 93久久精品日日躁夜夜躁欧美| 毛片不卡一区二区| 午夜精品久久久久久久久久久| 中文字幕精品一区| 欧美精品一区二区在线观看| 欧美精品久久天天躁| 色哟哟国产精品免费观看| 国产精品123区| 看电视剧不卡顿的网站| 午夜精品久久久久久久99樱桃| 亚洲欧美另类小说视频| 国产精品久久一级| 国产色综合一区| 久久天天做天天爱综合色| 日韩一区二区免费电影| 欧美老女人第四色| 欧美日韩精品是欧美日韩精品| 99精品一区二区三区| 国产精品亚洲专一区二区三区 | 久久久欧美精品sm网站| 日韩欧美不卡一区| 日韩一区二区麻豆国产| 日韩三级电影网址| 精品理论电影在线观看| 日韩三级中文字幕| 精品精品国产高清a毛片牛牛 | 成人一区二区三区视频在线观看| 国产精品一区二区x88av| 国产老肥熟一区二区三区| 九九九精品视频| 精品在线你懂的| 国产精品456露脸| 国产成人在线看| 成人动漫一区二区| 99久久精品免费观看| 91香蕉视频mp4| 色婷婷亚洲综合| 欧美日韩中文国产| 欧美精品成人一区二区三区四区| 7777精品伊人久久久大香线蕉经典版下载 | 国产成人午夜视频| 成人免费高清视频在线观看| 成人中文字幕电影| 不卡一区二区在线| 色丁香久综合在线久综合在线观看| 99精品欧美一区二区蜜桃免费| 日本韩国欧美三级| 91精品国产综合久久久久久| 欧美tk丨vk视频| 国产午夜精品一区二区| 亚洲欧洲国产日本综合| 亚洲人成网站影音先锋播放| 亚洲成人第一页| 麻豆国产欧美一区二区三区| 国产夫妻精品视频| 色哟哟国产精品免费观看| 欧美日韩电影在线| 精品久久久久久亚洲综合网| 久久久久久久久久久久久夜| 中文字幕一区二区三区在线不卡| 一区二区国产视频| 肉丝袜脚交视频一区二区| 国产麻豆精品在线| 色伊人久久综合中文字幕| 欧美精品tushy高清| 国产日韩精品视频一区| 亚洲一本大道在线| 国产成人免费9x9x人网站视频| 色香蕉久久蜜桃| 精品粉嫩超白一线天av| 亚洲乱码国产乱码精品精小说 | 欧美电影在线免费观看| 国产亚洲女人久久久久毛片| 亚洲精品视频一区二区| 捆绑变态av一区二区三区| 一本色道亚洲精品aⅴ| 日韩久久久久久| 亚洲精品你懂的| 国产一区在线观看视频| 欧美日韩亚洲综合在线| 欧美激情一区二区三区四区| 亚洲成人一区在线| 91最新地址在线播放| 精品对白一区国产伦| 亚洲大片在线观看| 99热这里都是精品| 久久久久久久久久久久久久久99 | 国产一区不卡视频| 欧美日韩三级一区二区| 国产精品福利在线播放| 九九视频精品免费| 这里只有精品电影| 亚洲免费观看在线观看| 成人免费观看av| 久久久久久久久久久黄色| 首页国产欧美久久| 在线观看免费成人| 最新国产成人在线观看| 国产福利91精品一区| 337p日本欧洲亚洲大胆精品| 午夜精品久久久久久不卡8050| 色综合天天综合网天天看片| 久久久久久**毛片大全| 麻豆一区二区三区| 欧美日韩国产欧美日美国产精品| 亚洲免费成人av| 91麻豆精品秘密| 中文字幕一区二区不卡 | 91碰在线视频| 亚洲欧洲精品成人久久奇米网| 粉嫩一区二区三区在线看| 国产亚洲美州欧州综合国| 国产在线精品免费av| 精品国产一区二区亚洲人成毛片 | 精品视频资源站| 亚洲色图另类专区| 91丨porny丨首页| 亚洲欧美日韩电影| 在线日韩av片| 亚洲电影在线免费观看| 欧美日韩一区高清| 日韩精品视频网| 欧美一级久久久| 久久精品国产久精国产| 精品粉嫩aⅴ一区二区三区四区| 九九九久久久精品| 久久久久国产精品厨房| 岛国精品在线播放| 一区在线观看视频| 欧美亚洲一区二区在线观看| 一区二区三区精品在线| 欧美日韩在线播| 日本高清成人免费播放| 一区二区三区精品在线观看| 欧美精品123区| 美美哒免费高清在线观看视频一区二区 | 国产精品久久久久久久久图文区| 99v久久综合狠狠综合久久| 一区二区三区在线影院| 欧美三级电影在线看| 美国十次了思思久久精品导航| 亚洲精品在线免费观看视频| 精品一区二区三区欧美| 国产精品美女久久久久久| 色综合久久久久综合体| 日本中文一区二区三区| 久久久亚洲精品石原莉奈| av色综合久久天堂av综合| 亚洲gay无套男同| 久久久午夜电影| 91美女在线观看| 美女被吸乳得到大胸91| 国产精品久久久久久久久免费桃花| 色域天天综合网| 男女性色大片免费观看一区二区|