Example #1
0
  /*1.初始化servlet 容器上下文*/
  public void contextInitialized(ServletContextEvent sce) {
    sc = sce.getServletContext();

    contextPath = sc.getContextPath();

    realPath = sc.getRealPath("/") + "/";

    String quartz_configFile = sc.getInitParameter("quartz-config-file");
    URL quartzConfigFileURL =
        Thread.currentThread().getContextClassLoader().getResource(quartz_configFile);
    if (null != quartzConfigFileURL) {
      logger.info("quartz定时调度线程信息:" + quartzConfigFileURL.getFile());
    }

    String shutdownUnload = sc.getInitParameter("shutdown-on-unload");
    if (null != shutdownUnload) {
      performShutdown = Boolean.valueOf(shutdownUnload).booleanValue();
    }

    /*参数配置*/
    StdSchedulerFactory factory;
    try {
      if (quartz_configFile != null) factory = new StdSchedulerFactory(quartz_configFile);
      else factory = new StdSchedulerFactory();
      scheduler = factory.getScheduler();
      // 添加quartz任务监听日志
      scheduler.addSchedulerListener(new SchedulerListenerImpl());
      scheduler.addJobListener(new JobListenerImpl());
      scheduler.addTriggerListener(new TriggerListenerImpl());
      scheduler.start();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }