web.xml listener i cron4j

Java Zostaw komentarz

Zastanawiałem się dziś jak zrobić by w mojej webowej aplikacji jakiś kod wykonywał się po załadowaniu aplikacji (np scheduler który co określony czas coś tam robi)

Rozwiązanie okazało się bardzo proste:

w pliku web.xml definiujemy listener:

[xml]
<listener>
<listener-class>pl.kedziorski.xyz.Cron</listener-class>
</listener>
[/xml]

No i klasa w której sobie nasłuchujemy deploy’u alikacji:

[java]
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class Cron implements ServletContextListener {

public void contextInitialized(ServletContextEvent sce) {
//TODO startujemy
}

public void contextDestroyed(ServletContextEvent sce) {
//TODO kończymy
}
[/java]

Pewnie większość z was wiedziała jak to osiągnąć - ale może komuś się przyda ;-)

Swoją drogą jeśli chodzi o realizacje CRONa to znalazłem fajną biblioteczkę: cron4j
Nie za duża i w zasadzie dostarcza tego co potrzeba - Możemy definiować zadania w sposób podobny jak w linuxowym cron’ie.
Można też zmieniać “częstotliwość” dla już rozpoczętych zadań.

Zadanie które ma być wykonywane przez naszego CRONa dodajemy w ten sposób:
[java]
Scheduler s = new Scheduler();
s.schedule("* * * * *", new Runnable() {
public void run() {
//TODO Co minute
}});
s.start();
[/java]

Więcej info na stronie dokumentacji projektu.

Komentarze (2) do “web.xml listener i cron4j”

  1. Lukasz Says:

    Quartz i działa ;-)

  2. Kędzior Says:

    A no działa :)

    Dla nie wtajemniczonych - Łukasz próbował kilka dni temu wstawić komentarz z alternatywą dla cron4j: Projektem Quartz: quartz-scheduler.org no i niestaty nie dało się dodać komentarza przez wadliwą captche :)
    Ale wszystko już poprawione :)

    Raz jeszcze dzięki za bug report :)

Zostaw komentarz

Silnik: Wordpress - Theme autorstwa N.Design Studio. Spolszczenie: Adam Klimowski.
RSS wpisów RSS komentarzy Zaloguj








2zł Nordic Gold