Quartz在weblogic下初始化兩次問題

xysniper發表於2009-09-11
我的quartz在TOMCAT下正常初始化一次,為什麼在weblogic下初始化了兩次,大家誰有這方面的經驗?

日誌如下:

090911101853 INFO  util.QuartzLoadServlet-javaee scheduler Initializing...
090911101853 INFO  util.QuartzLoadServlet-javaee scheduler Initializing...
090911101854 INFO  util.QuartzLoadServlet-Schduler Name : JavaEEScheduler
090911101854 INFO  util.QuartzLoadServlet-Schduler Name : JavaEEScheduler
090911101854 INFO  util.QuartzLoadServlet-Schduler ID :NON_CLUSTERED
090911101854 INFO  util.QuartzLoadServlet-Schduler ID :NON_CLUSTERED
090911101854 INFO  util.QuartzLoadServlet-javaee Start Scheduler OK
090911101854 INFO  util.QuartzLoadServlet-javaee Start Scheduler OK

<p class="indent">

我的JAVA程式碼如下:

package com.javaee.util;

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.apache.log4j.Logger;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;

import com.javaee.common.Constants;

public class QuartzLoadServlet extends HttpServlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private static Logger log = Logger.getLogger(QuartzLoadServlet.class);

	private static String configPath = null;

	Scheduler sched = null;

	// private ServletContext context;

	public void init(ServletConfig config) throws ServletException {
		try {
			configPath = ConfigManager.getInstance().getConfigPath();
			String schedulerConfigFile = configPath + "/"
					+ Constants.SCHEDULER_CONFIGFILE;
			log.info("get javaee Scheduler config file : "
					+ schedulerConfigFile);

			// initial the scheduler
			SchedulerFactory sf = new org.quartz.impl.StdSchedulerFactory(
					schedulerConfigFile);
			log.info("javaee scheduler Initializing...");

			sched = sf.getScheduler();
			log.info("Schduler Name : " + sched.getSchedulerName());
			log.info("Schduler ID :" + sched.getSchedulerInstanceId());
			sched.start();
			log.info("javaee Start Scheduler OK");
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (Exception e) {
			log.error("javaee initiation error...");
			e.printStackTrace();
		}

	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException {

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException {

	}

	/**
	 * shutdown
	 */
	public void destroy() {
		try {
			Scheduler defaultsched = StdSchedulerFactory.getDefaultScheduler();
			if (defaultsched != null) {
				defaultsched.shutdown();
			}
			log
					.info("===========Default Quartz Scheduler successful shutdown=======start");
			if (sched != null) {
				sched.shutdown();
			}
			log
					.info("============javaee Scheduler successful shutdown.=======end");
		} catch (Exception e) {
			log.error("Default Quartz Scheduler failed to shutdown cleanly: "
					+ e.toString());
			e.printStackTrace();
		}
	}
}
 
<p class="indent">

[該貼被thinkjava於2009-09-11 12:14修改過]

相關文章