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 :
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();
    }
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
 
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" );
}
 
    }
 
}