# Timer in einem Applicationserver laufen lassen?



## FranzSchulte (27. Nov 2006)

Ich schreibe gerade eine Web-Anwendung (servlets, Jsp...) welche im Moment auf einem Tomcat laufen, später auf einem Websphere. Meine Anwendung benötigt einen Timer um z.B. alle 5 Minuten die angesammelten Daten in eine Datenbank zu speichern. Nun habe ich gehört das es nicht üblich ist einen Timer einzusetzen bei Applikationsserver. Ist das wahr? Wenn ja, was gibts als Alternativen?


----------



## SlaterB (27. Nov 2006)

klingt für mich gar nicht so dumm, 
ein Java-Container ist ja ein durchgängig laufendes Programm,

die Alternative wäre ein anderes Programm, das nach einer bestimmten Zeit die Web-Anwendung anschubst,

lokal oder entfernt scheint mir egal, es sollte so oder so ein Http-Request sein, 
falls nicht andere Schnittstellen da sind

(reine Vermutungen ohne Praxisnachweis)

--------

ob man Daten erst nach 5 Min. speichert ist ne andere Frage, ist ein Systemausfall in der Zwischenzeit verkraftbar?


----------



## FranzSchulte (27. Nov 2006)

Ein Systemausfall würde nicht viel ausmachen, sind nur Zugriffsstatistiken welche gespeichert werden. Hab bisher ein Timer nach dem Observer-Pattern zusammengebaut. Allerdings bin ich mir nun nicht mehr sicher ob ich überhaupt einen Timer benutzen soll.


----------



## kama (27. Nov 2006)

Hallo,

du solltest Dir mal das Quartz Framework anschauen....

edit: http://www.opensymphony.com/quartz/

MfG
Karl Heinz


----------



## ankrug2 (27. Nov 2006)

Ich habe dieses Problem mit Hilfe eines einfachen Threads gelöst.
Der Thread wird statisch an einem Servlet gerufen.

Das Servlet habe ich <load-on-startup>1</load-on-startup> gesetzt.
Somit wird bei jedem deploy das Servlet gestartet und somit auch der Job.


----------

