A question like this was asked 2-3 days ago. Maybe you can have a look at
archive and see what were the answers.
What you want to do, is so simple, using Java's threads. You can
'schedule' a 'Timer' to execute a 'TimerTask' at an specific 'Date' or
'Perdiod'. Or as some of friends mentioned, you can use off-the-shelf
frameworks for scheduling like Quartz.
Have a look these :
http://www.javapractices.com/Topic54.cjp (Simple)
www.onjava.com/pub/a/onjava/2004/03/10/quartz.html (Quartz)
www-128.ibm.com/.../j-schedule.html