Para realizar tareas periodicas puedes usar el programador de tareas del S.O. que tengas (el cron en *nix, "Tareas programadas" en windows...), puedes usar algo como el Quartz (
http://www.opensymphony.com/quartz/) o puedes programar tu mismo un demonio usando la clase Timer y acompañantes. Yo recomendaría la uno o la dos.