J'utilise le planificateur de quartz dans l'application de Web de gwt. Ma structure d'application est comme ci-dessous.Planificateur de quartz en ne fonctionnant pas en guerre
J'ai deux project.One est gwt projet d'application web client (pour la partie ui) & autre est projet java pour l'appel côté serveur. (Pour l'interaction de base de données). Dans le projet client, je mets un projet serveur pour référence. Je crée une guerre du client et ajoute un pot de projet de serveur au dossier de guerre.
Maintenant, j'ai utilisé le planificateur côté serveur pour que certaines tâches se terminent automatiquement. Tout en l'exécutant localement (sans guerre), le planificateur fonctionnait correctement.
Mais lors de l'exécution de la guerre au niveau du serveur JBoss, le planificateur n'est pas en cours d'exécution.
Mon code all scheduler et Quartz.jar est côté serveur. Il n'y a aucune référence de Quartz dans le projet côté client. Est-ce le problème ???
Voici mon code pour planificateur
public class QuartzJob implements Job {
public void execute(JobExecutionContext jobExecutionContext)
throws JobExecutionException {
JobDataMap map = jobExecutionContext.getJobDetail().getJobDataMap();
ActivityTransactionSettingsMap map2 = (ActivityTransactionSettingsMap) map
.get("task");
if (map2.getAutoCompleteDate() != null) {
WorkFlowFacade facade = new WorkFlowFacade();
facade.completeAutoCompleteTask(map2);
Scheduler scheduler=(Scheduler) map.get("scheduler");
try {
scheduler.shutdown();
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}
}
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
JobDataMap map2 = new JobDataMap();
map2.put("task", actsMap);
map2.put("scheduler", scheduler);
JobDetail job = newJob(QuartzJob.class).withIdentity("job"+String.valueOf(actsMap.getId()))
.usingJobData(map2).build();
Trigger trigger = newTrigger().withIdentity("trigger"+String.valueOf(actsMap.getId()))
.startAt(actsMap.getAutoCompleteDate()).build();
scheduler.scheduleJob(job, trigger);
Ou dois-je changer mon planificateur projet lié au côté client seulement ?? Je ne comprends pas comment résoudre ce problème. S'il vous plaît aidez-moi
Le planificateur n'a rien à voir avec votre code GWT aussi loin que je peux le voir. Quel est le déclencheur pour le planificateur? –
Voici le déclencheur. Trigger trigger = newTrigger() .withIdentity ("trigger") .startAt (tomaroDate) .build(); –
Je ne suis pas sûr de vous avoir ici. Devrait-il commencer à fonctionner continuellement dès le lendemain? Est-ce ce dont vous avez besoin ? –