[Yanel-commits] rev 45958 - public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet

michi at wyona.com michi at wyona.com
Thu Dec 10 22:29:35 CET 2009


Author: michi
Date: 2009-12-10 22:29:34 +0100 (Thu, 10 Dec 2009)
New Revision: 45958

Modified:
   public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
startup and shutdown of quartz scheduler added

Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2009-12-10 21:22:41 UTC (rev 45957)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2009-12-10 21:29:34 UTC (rev 45958)
@@ -85,6 +85,9 @@
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
+import org.quartz.Scheduler;
+import org.quartz.impl.StdSchedulerFactory;
+
 /**
  * Main entry of Yanel webapp
  */
@@ -142,6 +145,8 @@
 
     private static String ANALYTICS_COOKIE_NAME = "_yanel-analytics";
 
+    private Scheduler scheduler;
+
     @Override
     public void init(ServletConfig config) throws ServletException {
         servletContextRealPath = config.getServletContext().getRealPath("/");
@@ -169,6 +174,11 @@
 
             // TODO: Make this value configurable also per realm or per individual user!
             logAccessEnabled = new Boolean(config.getInitParameter("log-access")).booleanValue();
+
+            if (new Boolean(config.getInitParameter("scheduler")).booleanValue()) {
+                log.warn("Startup scheduler ...");
+                scheduler = StdSchedulerFactory.getDefaultScheduler();
+            }
         } catch (Exception e) {
             log.error(e.getMessage(), e);
             throw new ServletException(e.getMessage(), e);
@@ -1921,7 +1931,18 @@
     @Override
     public void destroy() {
         super.destroy();
+
         yanelInstance.destroy();
+
+        if (scheduler != null) {
+            try {
+                log.warn("Shutdown scheduler ...");
+                scheduler.shutdown();
+            } catch(Exception e) {
+                log.error(e, e);
+            }
+        }
+
         log.warn("Yanel webapp has been shut down.");
     }
 



More information about the Yanel-commits mailing list