J'ai un problème avec l'utilisation de l'interface ServletContextListener.
Je désire réaliser une classe implementant cette interface afin d'initialiser et de lancer differentes taches périodiques à l'aide de la librairie Quartz.
Seulement lorqsque je met en place ceci, Tomcat plante et n'arrive pas à initialiser le context correctement.

Voici mes differents éléments :

La classe du Listener :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
public class ContextListenerForPTask implements ServletContextListener {
 
	private Scheduler scheduler;
	ServletContext context = null;
 
	public Scheduler getScheduler() {
		return scheduler;
	}
 
	public void setScheduler(Scheduler scheduler) {
		this.scheduler = scheduler;
	}
 
	public void contextInitialized(ServletContextEvent event) {
 
		//context = event.getServletContext();
		System.out.println("Rentre dans le contextListener");
		SchedulerFactory schedFactory = new StdSchedulerFactory();
		try {
			scheduler = schedFactory.getScheduler();
			scheduler.start();
		} catch (SchedulerException e) {
			e.printStackTrace();
		}
 
		JobDetail quotaJob = new JobDetail("QuotaJob",Scheduler.DEFAULT_GROUP,QuotaJob.class);
		Trigger quotaTrigger = null ;
		try {
			quotaTrigger = new CronTrigger("QuotaTrigger",Scheduler.DEFAULT_GROUP,"30 0 0 * * *"); //Pour test toutes les 30s
		} catch (ParseException e) {
			e.printStackTrace();
		}
 
		try {
			scheduler.scheduleJob(quotaJob,quotaTrigger);
		} catch (SchedulerException e) {
			e.printStackTrace();
		}
	}
 
	public void contextDestroyed(ServletContextEvent arg0) {
		// TODO Auto-generated method stub
		try {
			scheduler.shutdown();
		} catch (SchedulerException e) {
			e.printStackTrace();
		}
 
	}
}
Le fichier web.xml qui est marqué comme possèdant une erreur mais je ne vois pas où ? (Si j'enlève la definition du listener alors il n'y a plus l'erreur)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
 
<web-app> 
 
	<listener>
		<listener-class>
			periodicTask.ContextListenerForPTask
		</listener-class>
	</listener>
 
	<display-name>Transfert_Fichier</display-name> 
 
	<servlet> 
		<servlet-name>ServletFichier</servlet-name> 
		<servlet-class>controleur.ServletFichier</servlet-class> 
	</servlet>
 
	<servlet-mapping> 
		<servlet-name>ServletFichier</servlet-name> 
		<url-pattern>/GestionFichier</url-pattern> 
	</servlet-mapping> 
 
	<taglib>
		<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
		<taglib-location>/WEB-INF/tld/c.tld</taglib-location> 
	</taglib>
 
</web-app>
Le log du demarrage Tomcat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
31 mai 2006 10:26:13 org.apache.coyote.http11.Http11Protocol init
INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
31 mai 2006 10:26:13 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2724 ms
31 mai 2006 10:26:14 org.apache.catalina.core.StandardService start
INFO: Démarrage du service Catalina
31 mai 2006 10:26:14 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.0.28
31 mai 2006 10:26:14 org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Rentre dans le contextListener
31 mai 2006 10:26:15 org.quartz.simpl.SimpleThreadPool initialize
INFO: Job execution threads will use class loader of thread: main
31 mai 2006 10:26:15 org.quartz.core.QuartzScheduler <init>
INFO: Quartz Scheduler v.1.5.2 created.
31 mai 2006 10:26:15 org.quartz.simpl.RAMJobStore initialize
INFO: RAMJobStore initialized.
31 mai 2006 10:26:15 org.quartz.impl.StdSchedulerFactory instantiate
INFO: Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
31 mai 2006 10:26:15 org.quartz.impl.StdSchedulerFactory instantiate
INFO: Quartz scheduler version: 1.5.2
31 mai 2006 10:26:16 org.quartz.core.QuartzScheduler start
INFO: Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
31 mai 2006 10:26:16 org.apache.catalina.core.StandardContext start
GRAVE: Error listenerStart
31 mai 2006 10:26:16 org.apache.catalina.core.StandardContext start
GRAVE: Erreur de démarrage du contexte suite aux erreurs précédentes
31 mai 2006 10:26:16 org.quartz.core.QuartzScheduler shutdown
INFO: Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED shutting down.
31 mai 2006 10:26:16 org.quartz.core.QuartzScheduler standby
INFO: Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED paused.
31 mai 2006 10:26:16 org.quartz.core.QuartzScheduler shutdown
INFO: Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED shutdown complete.
31 mai 2006 10:26:16 org.apache.catalina.core.StandardHost getDeployer
INFO: Create Host deployer for direct deployment ( non-jmx ) 
31 mai 2006 10:26:16 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost\admin.xml
31 mai 2006 10:26:16 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
31 mai 2006 10:26:16 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
31 mai 2006 10:26:18 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true
31 mai 2006 10:26:19 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost\balancer.xml
31 mai 2006 10:26:19 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost\manager.xml
31 mai 2006 10:26:19 org.apache.catalina.core.StandardHostDeployer install
INFO: Installation d'une application pour le chemin de contexte  depuis l'URL file:C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\ROOT
31 mai 2006 10:26:19 org.apache.catalina.core.StandardHostDeployer install
INFO: Installation d'une application pour le chemin de contexte /tomcat-docs depuis l'URL file:C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\tomcat-docs
31 mai 2006 10:26:20 org.apache.coyote.http11.Http11Protocol start
INFO: Démarrage de Coyote HTTP/1.1 sur http-8080
31 mai 2006 10:26:20 org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
31 mai 2006 10:26:20 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/130  config=C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\jk2.properties
31 mai 2006 10:26:20 org.apache.catalina.startup.Catalina start
INFO: Server startup in 6950 ms
Voila donc si quelqu'un remarque une anomalie ...