Bonjour a tous
je suis entrain de développer une application web JEE
j'utilise jpa eclipseLink , jsf , quartz pour activer et désactiver le lancement du traitement d'une manière automatique.
mais il me retourne null au niveau de variable "ejb" et j'ai pas pu résoudre ce problème :/
et merci pour toute aide d'avance
mon code est le suivant :
managedbeans pour l'invocation de l'activation du job :
runJob.java
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 public void ActiverJob(String cron/*, String NomJob, String NomTrigger*/) throws ParseException, SchedulerException { JobDetail job = new JobDetail() { }; job.setName("job"); job.setJobClass(RunJob.class); CronTrigger trigger = new CronTrigger(); trigger.setName("Trigger"); trigger.setCronExpression(cron); SchedulerFactory scheduler = new StdSchedulerFactory(); Scheduler j = scheduler.getScheduler(); job.getJobDataMap().put("message", getSelected().getIdFlux()); try { j.scheduleJob(job, trigger); } catch (Exception e) { System.out.print(e.getCause()); } j.start(); }
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 RunJob implements Job{ @EJB FluxFacade ejb; @Override public void execute(JobExecutionContext jec) throws JobExecutionException { jec.getJobDetail().getJobDataMap().get("message"); ///////////////////////////////////////////// System.out.println("execution du job: " + jec.getJobDetail().getJobDataMap().get("message")); try{ Flux f= ejb.find(jec.getJobDetail().getJobDataMap().get("message")); System.out.println("flux "+f.getRepertoireIn()+"\\n" ); } catch(Exception e){ System.out.println("erreur "+e.getCause()+"\\n" ); } } }
Partager