import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.springframework.web.context.ContextLoaderListener;
import com.huaweisymantec.ecm.util.EcmUtils;
/**
*
* 自定义应用程序监听器
*
* 控制Spring Listener的加载<br>
* 因为本系统需要进行初始化配置才加载Spring框架,因此注释了web.xml中的
* Spring自动加载的listener。通过我们自定的listener判断初始化成功之后才进行加载。
*
* @author w90006039
*/
public class EcmListener implements ServletContextListener {
private static ContextLoaderListener springListener;
private static ServletContextEvent event;
/**
* 初始化Spring配置
*
*/
public static void initSpringConfig() {
if (null != event) {
initListener();
springListener.contextInitialized(event);
}
}
/**
* 初始化监听器
*
*/
private static void initListener() {
if (null == springListener) {
springListener = new ContextLoaderListener();
}
}
/**
* 停止系统方法 </br>
* 包括停止任务线程
*
*/
public void contextDestroyed(ServletContextEvent arg0) {
if (null != springListener) {
springListener.contextDestroyed(event);
}
}
/**
* 监听,如果已经初始化则启动spring框架
*/
public void contextInitialized(ServletContextEvent arg0) {
event = arg0;
if (EcmUtils.isSystemInited()) {
initSpringConfig();
}
}
}