Quartz è una libreria gratuita e open source che permette di pianificare l’esecuzione ripetuta e automatizzata di task nei nostri programmi Java. Per averla a disposizione è necessario integrarla nel progetto scaricando i file jar o definendo le dipendenze Maven (aggiornando opportunamente i numeri di versione interessati):
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
Fatto ciò si può iniziare a programmare i propri lavori temporizzati scrivendo del codice simile al seguente:
JobDetail job = newJob(MyJob.class)
.withIdentity("job1", "group1")
.build();
Trigger trigger = newTrigger()
.withIdentity("trigger1", "group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInSeconds(40)
.repeatForever())
.build();
scheduler.scheduleJob(job, trigger);
dove, per prima cosa, definiamo un Job, implementato in questo caso dalla classe MyJob, in cui verrà inserito il codice da attivare periodicamente e successivamente lo programmiamo in un trigger che definirà i tempi della schedulazione. Infine lo scheduler darà il via alle attività prendendosi carico sia del Job che del Trigger.
Quartz si distingue perchè gestisce bene un’attività che non sempre è semplice ottimizzare in quanto la ripetizione di un lavoro a intervalli regolari per molto tempo richiede un uso particolarmente efficiente delle risorse: non dimentichiamo inoltre che stiamo parlando di una tecnica assolutamente indispensabile in molti tipi di software.
Conoscevate già Quartz? Fateci sapere la vostra !










No Responses to “Quartz, attività temporizzate in Java”