欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QuickServer的学习研究(六)

程序员文章站 2022-04-20 09:00:30
...

       在启动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;
	}
    /**
     * 服务器生命周期的管理各种事件的控制口
     */
	@Override
	public 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;
	}

	@Override
	public String info() {
		return INFO;
	}
    /**
     * 用于在启动服务之前进行相关的初始化
     */
	@Override
	public void initHook(QuickServer qs) {
		//获取服务启动时相关的配置信息
		appCfg = qs.getConfig().getApplicationConfiguration();
		logger.info("初始QuickServer");
		//初始化EJBLookup
		//执行相关的初始化信息
	}

}

 

 

相关标签: .net 配置管理