initializerservletcontextlistener.java
来自「opennms得相关源码 请大家看看」· Java 代码 · 共 147 行
JAVA
147 行
//// $Id: InitializerServletContextListener.java 1199 2004-11-21 03:31:16Z brozow $//// This file is part of the OpenNMS(R) Application.//// OpenNMS(R) is Copyright (C) 2002-2003 The OpenNMS Group, Inc. All// rights reserved.// OpenNMS(R) is a derivative work, containing both original code,// included code and modified code that was published under the GNU// General Public License. Copyrights for modified and included code// are below.//// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.//// Copyright (C) 1999-2001 Oculan Corp. All rights reserved.//// This program 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.//// This program 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 this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.//// For more information contact:// OpenNMS Licensing <license@opennms.org>// http://www.opennms.org/// http://www.opennms.com///package org.opennms.web;import java.lang.reflect.UndeclaredThrowableException;import java.net.ConnectException;import java.util.Date;import java.util.Timer;import java.util.TimerTask;import javax.servlet.ServletContext;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.ServletException;import org.opennms.web.category.CategoryList;import org.opennms.web.category.RTCPostSubscriber;/** * Initializes our internal servlet systems at servlet container startup, and * destroys any pool resources at servlet container shutdown. * * This listener is specified in the web.xml to listen to * <code>ServletContext</code> lifecyle events. On startup it calls * ServletInitializer.init and initializes the UserFactory, GroupFactory. On * shutdown it calls ServletInitializer.destroy. * * @author <A HREF="mailto:larry@opennms.org">Lawrence Karnowski </A> * @author <A HREF="http://www.opennms.org/">OpenNMS </A> */public class InitializerServletContextListener implements ServletContextListener { private Timer rtcCheckTimer = null; public void contextInitialized(ServletContextEvent event) { ServletContext context = event.getServletContext(); try { // Initialize the scarce resource policies (db connections) and // common configuration. ServletInitializer.init(context); context.log("[InitializerServletContextListener] Initialized " + "servlet systems successfully"); } catch (ServletException e) { context.log("[InitializerServletContextListener] Error while " + "initializing servlet systems", e); } catch (Exception e) { context.log("[InitializerServletContextListener] Error while " + "initializing user, group, or view factory", e); } try { rtcCheckTimer = new Timer(); rtcCheckTimer.schedule(new RTCPostSubscriberTimerTask(context), new Date(), 130000); } catch (ServletException e) { context.log("[InitializerServletContextListener] Error while " + "initializing RTC check timer", e); } } public void contextDestroyed(ServletContextEvent event) { ServletContext context = event.getServletContext(); try { // Let the scarce resource policies release any shared // resouces (db connections). ServletInitializer.destroy(event.getServletContext()); // Report success. context.log("[InitializerServletContextListener] Destroyed " + "servlet systems successfully"); } catch (ServletException e) { context.log("[InitializerServletContextListener] Error while " + "destroying servlet systems", e); } if (rtcCheckTimer != null) { rtcCheckTimer.cancel(); rtcCheckTimer = null; } } public class RTCPostSubscriberTimerTask extends TimerTask { private ServletContext m_context; private CategoryList m_categorylist; public RTCPostSubscriberTimerTask(ServletContext context) throws ServletException { m_context = context; m_categorylist = new CategoryList(m_context); } public void run() { try { if (!m_categorylist.isDisconnected()) { return; } } catch (Exception e) { m_context.log("[RTCPostSubscriberTimerTask] Error checking " + "if OpenNMS is disconnected", e); return; } m_context.log("[RTCPostSubscriberTimerTask] OpenNMS is " + "disconnected -- attempting RTC POST subscription"); try { RTCPostSubscriber.subscribeAll("WebConsoleView"); m_context.log("[RTCPostSubscriberTimerTask] RTC POST " + "subscription event sent successfully"); } catch (Exception e) { if (UndeclaredThrowableException.class.isInstance(e) && e.getCause() != null && ConnectException.class.isInstance(e.getCause())) { m_context.log("[RTCPostSubscriberTimerTask] RTC POST " + "failed due to ConnectException: " + e.getCause().toString()); } else { m_context.log("[RTCPostSubscriberTimerTask] Error " + "subscribing to RTC POSTs", e); } } } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?