Bonjour messieurs,
Je suis actuellement sur un projet Web en Struts 2 avec Spring version 2.5.6, quartz en version 1.6.3 . J'essai de faire un job quartz de façon dynamique, afin de configurer la cron de mon job en fonction de certains paramétre coté ihm.
Mais sa n'a pas l'air de marché j'ai suivi un tuto :
http://blog.xebia.fr/2009/02/12/quar...ng-scheduling/ mais sa na pas l'air de marché il ne parle pas de sont DumbManager et eclipse ne trouve pas la classe ...
au démarrage du serveur des erreur Spring sur le fichier applicationContext.
Si quelqu'un à un autre tuto a me conseillé pour faire des cron dynamique avec spring je suis prenneur.
Mon jobBean :
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 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="businessManager" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="com.project.utils.MonJobBean" /> <property name="jobDataAsMap"> <map> <entry key="businessManager" ref="businessManager"/> </map> </property> </bean> <bean id="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false"> </bean> <bean id="schedulerService" class="com.project.utils.SchedulerService"> <property name="scheduler" ref="quartzScheduler" /> </bean> </beans>
Mon SchedulerService :
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 public class MonJobBean extends QuartzJobBean { private BusinessManager businessManager; private String message; @Override protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { System.out.println("execution du job: " + message); } public void setMessage(String message) { this.message = message; } public BusinessManager getBusinessManager() { return businessManager; } public void setBusinessManager(BusinessManager businessManager) { this.businessManager = businessManager; }
Erreur au démarrage du serveur :
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 import org.quartz.CronTrigger; import org.quartz.JobDetail; import org.quartz.Scheduler; public class SchedulerService { private Scheduler scheduler; //private jobDetail myjob; private JobDetail myJob; public void addMyjobExecution() { CronTrigger crontrig = new CronTrigger(); try { crontrig.setCronExpression("0 0 0 * 2-3 ?"); crontrig.setJobName(myJob.getName()); crontrig.getJobDataMap().put("message", "CronTrigger"); scheduler.scheduleJob(crontrig); } catch (Exception e) { // TODO: handle exception } } public Scheduler getScheduler() { return scheduler; } public void setScheduler(Scheduler scheduler) { this.scheduler = scheduler; } public JobDetail getMyJob() { return myJob; } public void setMyJob(JobDetail myJob) { this.myJob = myJob; }
Visiblement il aime pas mon attribut, mais dans le tuto c'est un peu fait comme ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 15 in XML document from ServletContext resource [/WEB-INF/applicationContext.xml] is invalid; nested exception is org.xml.sa x.SAXParseException: cvc-complex-type.3.2.2: Attribute 'ref' is not allowed to appear in element 'entry'. at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:404) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <map> <entry key="businessManager" ref="businessManager"/> </map>
Voila, si quelqu'un a une idée de la configuration que je dois avoir afin de pouvoir avoir des jobs dynamique qu'il me le dise ou si il a un tuto je suis preneur.
Partager