亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? quartzinitializerservlet.java

?? Java中非常實用流控制工具
?? JAVA
字號:
/*
 * Copyright 2004-2005 OpenSymphony
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy
 * of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 *
 */

/*
 * Previously Copyright (c) 2001-2004 James House
 */
package org.quartz.ee.servlet;

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.quartz.Scheduler;
import org.quartz.impl.StdSchedulerFactory;

/**
 * <p>
 * A Servlet that can be used to initialize Quartz, if configured as a
 * load-on-startup servlet in a web application.
 * </p>
 *
 * <p>
 * You'll want to add something like this to your WEB-INF/web.xml file:
 *
 * <pre>
 *     &lt;servlet&gt;
 *         &lt;servlet-name&gt;
 *             QuartzInitializer
 *         &lt;/servlet-name&gt;
 *         &lt;display-name&gt;
 *             Quartz Initializer Servlet
 *         &lt;/display-name&gt;
 *         &lt;servlet-class&gt;
 *             org.quartz.ee.servlet.QuartzInitializerServlet
 *         &lt;/servlet-class&gt;
 *         &lt;load-on-startup&gt;
 *             1
 *         &lt;/load-on-startup&gt;
 *         &lt;init-param&gt;
 *             &lt;param-name&gt;config-file&lt;/param-name&gt;
 *             &lt;param-value&gt;/some/path/my_quartz.properties&lt;/param-value&gt;
 *         &lt;/init-param&gt;
 *         &lt;init-param&gt;
 *             &lt;param-name&gt;shutdown-on-unload&lt;/param-name&gt;
 *             &lt;param-value&gt;true&lt;/param-value&gt;
 *         &lt;/init-param&gt;
 *         &lt;init-param&gt;
 *             &lt;param-name&gt;start-scheduler-on-load&lt;/param-name&gt;
 *             &lt;param-value&gt;true&lt;/param-value&gt;
 *         &lt;/init-param&gt;
 *     &lt;/servlet&gt;
 * </pre>
 *
 * </p>
 * <p>
 * The init parameter 'config-file' can be used to specify the path (and
 * filename) of your Quartz properties file. If you leave out this parameter,
 * the default ("quartz.properties") will be used.
 * </p>
 *
 * <p>
 * The init parameter 'shutdown-on-unload' can be used to specify whether you
 * want scheduler.shutdown() called when the servlet is unloaded (usually when
 * the application server is being shutdown). Possible values are "true" or
 * "false". The default is "true".
 * </p>
 *
 * <p>
 * The init parameter 'start-scheduler-on-load' can be used to specify whether
 * you want the scheduler.start() method called when the servlet is first loaded.
 * If set to false, your application will need to call the start() method before
 * the scheduler begins to run and process jobs. Possible values are "true" or
 * "false". The default is "true", which means the scheduler is started.
 * </p>
 *
 * A StdSchedulerFactory instance is stored into the ServletContext. You can gain access
 * to the factory from a ServletContext instance like this:
 * <br>
 * <pre>
 *     StdSchedulerFactory factory = (StdSchedulerFactory) ctx
 *                .getAttribute(QuartzFactoryServlet.QUARTZ_FACTORY_KEY);</pre>
 * <p>
 * The init parameter 'servlet-context-factory-key' can be used to override the
 * name under which the StdSchedulerFactory is stored into the ServletContext, in 
 * which case you will want to use this name rather than 
 * <code>QuartzFactoryServlet.QUARTZ_FACTORY_KEY</code> in the above example.
 * </p>
 * 
 * <p>
 * The init parameter 'start-delay-seconds' can be used to specify the amount
 * of time to wait after initializing the scheduler before scheduler.start()
 * is called.
 * </p>
 *
 * Once you have the factory instance, you can retrieve the Scheduler instance by calling
 * <code>getScheduler()</code> on the factory.
 *
 * @author James House
 * @author Chuck Cavaness
 * @deprecated use {@link org.quartz.ee.servlet.QuartzInitializerListener} instead.
 */
public class QuartzInitializerServlet extends HttpServlet {

    public static final String QUARTZ_FACTORY_KEY = "org.quartz.impl.StdSchedulerFactory.KEY";

    private boolean performShutdown = true;

    private Scheduler scheduler = null;

    /*
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     *
     * Interface.
     *
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     */

    public void init(ServletConfig cfg) throws javax.servlet.ServletException {
        super.init(cfg);

        log("Quartz Initializer Servlet loaded, initializing Scheduler...");

        StdSchedulerFactory factory;
        try {

            String configFile = cfg.getInitParameter("config-file");
            String shutdownPref = cfg.getInitParameter("shutdown-on-unload");

            if (shutdownPref != null) {
                performShutdown = Boolean.valueOf(shutdownPref).booleanValue();
            }

            // get Properties
            if (configFile != null) {
                factory = new StdSchedulerFactory(configFile);
            } else {
                factory = new StdSchedulerFactory();
            }
            
            // Always want to get the scheduler, even if it isn't starting, 
            // to make sure it is both initialized and registered.
            scheduler = factory.getScheduler();
            
            // Should the Scheduler being started now or later
            String startOnLoad = cfg
                    .getInitParameter("start-scheduler-on-load");

            int startDelay = 0;
            String startDelayS = cfg.getInitParameter("start-delay-seconds");
            try {
                if(startDelayS != null && startDelayS.trim().length() > 0)
                    startDelay = Integer.parseInt(startDelayS);
            } catch(Exception e) {
                log("Cannot parse value of 'start-delay-seconds' to an integer: " + startDelayS + ", defaulting to 5 seconds.", e);
                startDelay = 5;
            }
            
            /*
             * If the "start-scheduler-on-load" init-parameter is not specified,
             * the scheduler will be started. This is to maintain backwards
             * compatability.
             */
            if (startOnLoad == null || (Boolean.valueOf(startOnLoad).booleanValue())) {
                if(startDelay <= 0) {
                    // Start now
                    scheduler.start();
                    log("Scheduler has been started...");
                }
                else {
                    // Start delayed
                    scheduler.startDelayed(startDelay);
                    log("Scheduler will start in " + startDelay + " seconds.");
                }
            } else {
                log("Scheduler has not been started. Use scheduler.start()");
            }

            String factoryKey = cfg.getInitParameter("servlet-context-factory-key");
            if (factoryKey == null) {
                factoryKey = QUARTZ_FACTORY_KEY;
            }
            
            log("Storing the Quartz Scheduler Factory in the servlet context at key: "
                    + factoryKey);
            cfg.getServletContext().setAttribute(factoryKey, factory);

        } catch (Exception e) {
            log("Quartz Scheduler failed to initialize: " + e.toString());
            throw new ServletException(e);
        }
    }

    public void destroy() {

        if (!performShutdown) {
            return;
        }

        try {
            if (scheduler != null) {
                scheduler.shutdown();
            }
        } catch (Exception e) {
            log("Quartz Scheduler failed to shutdown cleanly: " + e.toString());
            e.printStackTrace();
        }

        log("Quartz Scheduler successful shutdown.");
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        response.sendError(HttpServletResponse.SC_FORBIDDEN);
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        response.sendError(HttpServletResponse.SC_FORBIDDEN);
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品剧情在线亚洲| 成人网在线免费视频| 亚洲国产一区在线观看| 亚洲情趣在线观看| 亚洲男人的天堂网| 亚洲特级片在线| 亚洲精品少妇30p| 一区二区三区 在线观看视频| 亚洲欧洲精品一区二区精品久久久| 亚洲欧洲色图综合| 亚洲欧美另类小说视频| 亚洲美女屁股眼交3| 一区二区三区欧美亚洲| 亚洲国产精品久久艾草纯爱| 亚洲成人中文在线| 丝袜国产日韩另类美女| 精品一区二区三区的国产在线播放| 精品一区二区三区不卡 | 国内精品免费在线观看| 国产成人一级电影| 99热在这里有精品免费| 91成人免费网站| 91精品国产综合久久蜜臀| 精品久久久久久亚洲综合网| 国产欧美日韩三区| 最新久久zyz资源站| 亚洲综合免费观看高清完整版 | 精品88久久久久88久久久| 久久久综合精品| 国产精品第四页| 亚洲国产一区二区在线播放| 蜜臀av性久久久久蜜臀aⅴ流畅| 色综合天天做天天爱| 91麻豆123| 欧美精品在线观看播放| 欧美videossexotv100| 欧美国产欧美综合| 一区二区三区**美女毛片| 蜜臀久久久久久久| 国产成人精品综合在线观看| 91网站最新地址| 欧美日韩国产在线观看| 精品国产伦一区二区三区观看方式| 国产精品九色蝌蚪自拍| 日韩精品亚洲专区| 国产成人在线色| 欧美三区在线视频| 国产亚洲一区二区在线观看| 亚洲美女免费在线| 激情欧美日韩一区二区| 91九色最新地址| 久久伊人中文字幕| 亚洲在线观看免费| 国产伦精品一区二区三区视频青涩 | eeuss国产一区二区三区| 91精品在线麻豆| 国产精品每日更新在线播放网址| 亚洲成av人片www| 成人动漫一区二区三区| 日韩精品专区在线影院重磅| 亚洲欧美日韩在线| 看电视剧不卡顿的网站| 91久久人澡人人添人人爽欧美 | 久99久精品视频免费观看| 99国产精品久久久久久久久久 | 精品国产91亚洲一区二区三区婷婷 | 精品免费视频.| 亚洲香肠在线观看| fc2成人免费人成在线观看播放| 91精品视频网| 亚洲最快最全在线视频| 懂色av噜噜一区二区三区av| 欧美一级电影网站| 亚洲一二三区不卡| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美成人精品福利| 天堂在线亚洲视频| 91福利社在线观看| 亚洲欧洲性图库| 国产成人aaaa| 精品国产电影一区二区| 三级成人在线视频| 色综合久久99| 中文字幕亚洲一区二区va在线| 韩国三级在线一区| 日韩西西人体444www| 亚洲高清免费一级二级三级| 色综合久久久久久久| 中文字幕一区二区三| 成人激情午夜影院| 欧美国产一区视频在线观看| 国产一区二区免费看| 欧美精品一区男女天堂| 久久精品久久精品| 欧美一区二区在线视频| 午夜久久电影网| 欧美性色aⅴ视频一区日韩精品| 亚洲人吸女人奶水| 色婷婷久久综合| 亚洲欧美一区二区三区久本道91| 99久久久久久| 亚洲另类色综合网站| 91精品1区2区| 亚洲一区二区偷拍精品| 在线视频你懂得一区| 一区二区三区中文字幕电影| 97久久人人超碰| 亚洲激情校园春色| 日本道在线观看一区二区| 亚洲色图制服诱惑 | 国产精品素人一区二区| 成人午夜电影久久影院| 亚洲视频一区在线| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 久久综合精品国产一区二区三区| 国产在线观看免费一区| 国产女同互慰高潮91漫画| 成人av电影观看| 亚洲精品福利视频网站| 欧美精品久久天天躁| 麻豆极品一区二区三区| 久久久美女毛片| 成人av资源下载| 一区二区三区在线视频观看| 欧美理论电影在线| 黄色小说综合网站| 国产精品乱码人人做人人爱| 91丨porny丨在线| 亚洲一区中文日韩| 欧美电视剧免费全集观看| 国产高清一区日本| 亚洲欧美色一区| 69堂成人精品免费视频| 国产最新精品精品你懂的| 中文字幕在线播放不卡一区| 欧美日韩一区二区在线视频| 久久精品99国产精品| 国产精品乱码一区二三区小蝌蚪| 欧美在线色视频| 久久99精品久久只有精品| 中文字幕一区二区三区视频| 欧美视频精品在线| 国产一区日韩二区欧美三区| 亚洲女同ⅹxx女同tv| 91精品国产91久久久久久最新毛片| 极品少妇xxxx精品少妇| 亚洲欧美日韩国产中文在线| 欧美日韩成人在线| 高清在线不卡av| 性做久久久久久久久| 久久久久久久国产精品影院| 一本到高清视频免费精品| 免费人成精品欧美精品| √…a在线天堂一区| 在线播放91灌醉迷j高跟美女| 风间由美一区二区av101 | 韩国成人在线视频| 亚洲欧洲一区二区三区| 欧美www视频| 在线精品亚洲一区二区不卡| 国内精品免费**视频| 一区二区三区四区视频精品免费| 精品国产免费一区二区三区四区 | 天天综合色天天综合色h| 国产亚洲一区字幕| 精品视频在线看| 不卡的电视剧免费网站有什么| 免费视频最近日韩| 亚洲精品国产无天堂网2021| 久久久久亚洲蜜桃| 7777精品伊人久久久大香线蕉 | 亚洲激情成人在线| 久久亚洲精华国产精华液| 欧美日韩另类一区| 成人av在线看| 国内外成人在线| 强制捆绑调教一区二区| 亚洲黄一区二区三区| 国产精品国产三级国产| 日韩免费视频一区| 欧美精品 日韩| 欧美熟乱第一页| 99久久伊人网影院| 国产剧情一区二区| 美洲天堂一区二卡三卡四卡视频| 亚洲一区二区三区四区的| 国产精品视频一二三区| 精品国产一区二区三区久久影院| 91精品欧美福利在线观看| 欧洲精品在线观看| 9i看片成人免费高清| 高清beeg欧美| 国产在线观看一区二区| 久久国产夜色精品鲁鲁99| 免费av网站大全久久| 日韩精品久久理论片| 亚洲香蕉伊在人在线观| 亚洲综合免费观看高清在线观看| 亚洲丝袜制服诱惑| 亚洲人成伊人成综合网小说|