首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

QuickServer的学习研究(6)

2012-09-05 
QuickServer的学习研究(六)?????? 在启动QuickServer的同时如果你想在服务启动的前后,服务关闭前后执行特

QuickServer的学习研究(六)

?????? 在启动QuickServer的同时如果你想在服务启动的前后,服务关闭前后执行特定的操作,那么必须实现相关的ServerHook接口。实现相关的的方法。用于控制QuickServer的生命周期的各种信息。

ServerHook的源代码如下:

package org.quickserver.net;import org.quickserver.net.server.QuickServer;public abstract interface ServerHook{  public static final int PRE_STARTUP = 100;  public static final int POST_STARTUP = 101;  public static final int PRE_SHUTDOWN = 201;  public static final int POST_SHUTDOWN = 202;  public abstract String info();  public abstract void initHook(QuickServer paramQuickServer);  public abstract boolean handleEvent(int event);

?其中:public abstract boolean handleEvent(int event);

根据相关的参数执行相关的信息

package com.easway.quickserver.cmd;import java.util.HashMap;import java.util.logging.Logger;import org.quickserver.net.ServerHook;import org.quickserver.net.server.QuickServer;/** * 控制服务器生命周期的类的管理器 * @author longgangbai * */public class QuickServerHook implements ServerHook {private static final Logger logger = Logger.getLogger(QuickServerHook.class.getName());private final String INFO="服务器生命周期管理";/** * 获取服务启动时相关的参数信息 */@SuppressWarnings("unchecked")private static HashMap appCfg;@SuppressWarnings("unchecked")public static HashMap getAppCfg() {return appCfg;}    /**     * 服务器生命周期的管理各种事件的控制口     */@Overridepublic boolean handleEvent(int event) {if(event == POST_STARTUP){logger.info("准备初始化,执行POST_STARTUP");}else if(event==PRE_STARTUP){logger.info("准备初始化 执行PRE_STARTUP");}else if(event == PRE_SHUTDOWN){logger.info("准备关闭开始执行PRE_SHUTDOWN");}else if(event==POST_SHUTDOWN){logger.info("准备关闭开始执行POST_SHUTDOWN");}return true;}@Overridepublic String info() {return INFO;}    /**     * 用于在启动服务之前进行相关的初始化     */@Overridepublic void initHook(QuickServer qs) {//获取服务启动时相关的配置信息appCfg = qs.getConfig().getApplicationConfiguration();logger.info("初始QuickServer");//初始化EJBLookup//执行相关的初始化信息}}

?

?

热点排行