Bonjour,

J'aimerais utiliser le Scheduler de Spring dans une Servlet en cluster. Pour cela j'ai regardé ce qu'il était nécessaire pour que Quartz fonctionne en cluster... J'ai créé les tables et regardé la config en exemple qu'il y avait sur le site de quartz.

Voici la config pour le SchedulerFactoryBean :
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
 
        <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
			<property name="triggers">
				<list>
					<!-- ref bean="scheduledEmailTask"/>  -->
					<ref bean="cronScheduledEmailTask"/> 
				</list>
			</property>
 
			<!-- <property name="dataSource" ref="dataSource"/>  -->
			<!--<property name="dataSource" ref="dataSource"/> -->
 
			<!-- property name="applicationContextSchedulerContextKey">
				<value>applicationContext</value>
			</property>  -->
 
			<property name="quartzProperties">
				<props>
				 	<prop key="org.quartz.scheduler.instanceName">MyClusteredScheduler</prop>				 	
				 	<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
 
				 	<prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
				 	<prop key="org.quartz.threadPool.threadCount">25</prop>
				 	<prop key="org.quartz.threadPool.threadPriority">5</prop>
 
				 	<prop key="org.quartz.jobStore.class">org.quartz.impl.jdbcjobstore.JobStoreTX</prop>				 	
				 	<prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.oracle.OracleDelegate</prop>				 	  
				 	<prop key="org.quartz.jobStore.useProperties">false</prop>				 	  
				 	<prop key="org.quartz.jobStore.dataSource">cmdsDS</prop>	
				 	<!-- <prop key="org.quartz.jobStore.nonManagedTXDataSource">noTxCmdsDS</prop>  -->
				 	<prop key="org.quartz.jobStore.tablePrefix">QRTZ_</prop>
				 	<prop key="org.quartz.jobStore.isClustered">true</prop>
				 	<prop key="org.quartz.jobStore.clusterCheckinInterval">20000</prop> 
 
					<prop key="org.quartz.dataSource.cmdsDS.jndiURL">java:/DataSource/cmdsDS</prop>
					<!-- <prop key="org.quartz.dataSource.noTxCmdsDS.jndiURL">java:/DataSource/noTxCmdsDS</prop> -->
				</props>
			</property>
 
		</bean>
Mais j'obtient l'erreur suivante :

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
 
08:59:31,872 INFO  [StdSchedulerFactory] Quartz scheduler 'MyClusteredScheduler' initialized from an externally provided properties instance.
08:59:31,872 INFO  [StdSchedulerFactory] Quartz scheduler version: 1.5.2
08:59:31,872 INFO  [QuartzScheduler] JobFactory set to: org.springframework.scheduling.quartz.AdaptableJobFactory@15078d
08:59:31,997 INFO  [DefaultListableBeanFactory] Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@c097c6: defining beans [dataSource,dailyEmailTask,scheduledEmailTask,cronScheduledEmailTask,org.springframework.scheduling.quartz.SchedulerFactoryBean]; root of factory hierarchy
08:59:31,997 ERROR [STDERR] org.quartz.SchedulerException: Registration of jobs and triggers failed: org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.closeResultSet(Ljava/sql/ResultSet;)V
08:59:32,013 ERROR [STDERR]     at org.springframework.scheduling.quartz.SchedulerFactoryBean.registerJobsAndTriggers(SchedulerFactoryBean.java:800)
08:59:32,013 ERROR [STDERR]     at org.springframework.scheduling.quartz.SchedulerFactoryBean.afterPropertiesSet(SchedulerFactoryBean.java:601)
08:59:32,013 ERROR [STDERR]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201)
08:59:32,013 ERROR [STDERR]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171)
08:59:32,013 ERROR [STDERR]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
08:59:32,013 ERROR [STDERR]     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
08:59:32,013 ERROR [STDERR]     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
08:59:32,013 ERROR [STDERR]     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
08:59:32,013 ERROR [STDERR]     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
08:59:32,013 ERROR [STDERR]     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)
08:59:32,013 ERROR [STDERR]     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
08:59:32,013 ERROR [STDERR]     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
08:59:32,013 ERROR [STDERR]     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
08:59:32,013 ERROR [STDERR]     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
08:59:32,013 ERROR [STDERR]     at lu.ses_astra.cmds.web.servlet.ScheduleServlet.init(ScheduleServlet.java:29)
08:59:32,013 ERROR [STDERR]     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
08:59:32,013 ERROR [STDERR]     at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
08:59:32,013 ERROR [STDERR]     at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4069)
08:59:32,013 ERROR [STDERR]     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4373)
08:59:32,013 ERROR [STDERR]     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
08:59:32,013 ERROR [STDERR]     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
08:59:32,013 ERROR [STDERR]     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
08:59:32,013 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
08:59:32,013 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
08:59:32,013 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
08:59:32,013 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:585)
08:59:32,013 ERROR [STDERR]     at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
08:59:32,013 ERROR [STDERR]     at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
08:59:32,013 ERROR [STDERR]     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
08:59:32,013 ERROR [STDERR]     at org.apache.catalina.core.StandardContext.init(StandardContext.java:5310)
qqun aurait une idée?

Merci d'avance